Javascript getFullYear、getMonth、getDate 不起作用

标签 javascript

我很抱歉我可能会因此而受到批评,但作为一个新手,我想让这项工作在约会上进行。我有这个代码:

var date = new Date('Apr 21, 2015');

当我使用此代码发出警报时:

     
    var date = new Date('Apr 21, 2015');
    alert(date.getFullYear());
    alert(date.getMonth());
    alert(date.getDate ());

它显示 NaN。有人可以建议我如何做到这一点吗?

最佳答案

问题出在这里:

var date = new Date('Apr 21, 2015');

no support for that date/time format in the specification如果某个特定的 JavaScript 引擎支持它,那是因为它已经超越了它,您不能指望它。因此,您最终会得到一个带有“time valueNaNDate 实例(“时间值”是自 The Epoch — 1970 年 1 月 1 日以来的毫秒数),以及所有各种方法,例如 getFullYear 等返回 NaN

所以:

  1. 如果您需要解析该格式,则必须编写代码来执行此操作,或者使用 MomentJS 等库或其他几个已经编写的库。

  2. 如果您只需要以 Date 实例的形式获取该日期,而不是使用字符串,则可以从多参数构造函数构建它:

    var date = new Date(2015, 3, 21); // Months start at 0, so 3 = April
    

关于Javascript getFullYear、getMonth、getDate 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29789577/

相关文章:

javascript - 使用 Google Contacts API v3 仅列出 "My Contacts"组的联系人

javascript - JavaScript 中的 "inheritance"是什么?

javascript - 生成并下载网页截图而不丢失样式

javascript - 在 React js 中做一次,然后每 15 秒做一次

javascript - 如何在 Chromecast 中使用 blob url?

javascript - 表单验证,无需刷新页面

javascript - 当查看器滚动时,如何使我网站的导航栏保持在顶部?

javascript - 在其自己的工具提示上单击获取元素

javascript - IE 不记得后退按钮上的隐藏字段值

javascript - 无法理解与 promise 和范围相关的错误