【问题标题】:Disassociate value of Date method from the object解除 Date 方法的值与对象的关联
【发布时间】:2014-11-17 22:52:34
【问题描述】:

我需要能够做这样的事情

var date = new Date();
var month = date.getDate();
var strmonth = month.toString(); //This returns [Window Object]

我也尝试过这种变化

month = Number(date.getDate());
strmonth = month.toString(); // This also returns [Window Object]

【问题讨论】:

  • 这些都不应该在任何浏览器中返回窗口,所以你在这里做的事情真的很奇怪。
  • 不确定你得到的是什么浏览器返回 [Window Object]
  • getDate() 返回日期而不是月份。
  • getDate 返回一个数字,因此Number(getDate()) 返回与getDate() 完全相同的值。 Number.prototype.toString 返回一个字符串,而不是窗口(全局)对象。

标签: javascript string date


【解决方案1】:

您可能正试图从 date.getMonth 中获取月份名称。您可以将 getMonth 返回的月份编号与月份名称数组一起使用,例如

function getMonth(date) {
  var months = ['Jan','Feb','Mar','Apr','May','Jun',
                'Jul','Aug','Sep','Oct','Nov','Dec'];
  return months[date.getMonth()];
}

console.log(getMonth(new Date()));

您可以用任何适合的名称替换月份名称。如果你真的想要,你可以使用 getMonthName 方法扩展内置的 Date 对象:

Date.prototype.getMonthName = function() {
  return ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'][this.getMonth()];
}

console.log(new Date().getMonthName());

【讨论】:

    猜你喜欢
    • 2013-04-23
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多