Javascript Date.getFullYear() 行为与 Date.getYear() 相同

Posted

技术标签:

【中文标题】Javascript Date.getFullYear() 行为与 Date.getYear() 相同【英文标题】:Javascript Date.getFullYear() behaving same as Date.getYear() 【发布时间】:2017-09-28 02:17:27 【问题描述】:

我正在尝试使用 javascript 来获取年份。我实例化了一个新的 Date()。我能够毫无问题地获得月份和日期。这一年没有按应有的方式工作。我正在使用 getFullYear() 正如所有文档和 cmets 所说的那样,而不是 getYear() 但是,我得到 117 而不是 2017。根据我读过的所有内容,getYear() 应该返回 117,而 getFullYear() 应该返回 2017。控制台,如果我运行 ' (new Date()).getFullYear() ' 我会得到 2017 年。

如果我在控制台中声明 Task 函数,然后实例化一个新的 Task 对象,一切正常。任务对象的年份属性为 2017。

我做错了什么?

function Task(task) 
  var d = new Date();

  this.task = task;
  this.date = d.getDate();
  this.month = d.getMonth();
  this.year = d.getFullYear()
  this.complete = false;


var task = new Task("task one");
['date', 'month', 'year'].forEach(function(p) 
  console.log(p + ' is ' + task[p]);
);

// date is 28
// month is 8
// year is 117

【问题讨论】:

你设置task.year = 117 ? 如果 console.log(task.year) 我得到 2017 年。当然,在您覆盖函数中的值之前。 不,我只是在写每个属性的最终结果。我看到它很混乱,我会编辑。 将您的代码转换为可运行的 sn-p 不会显示声明的错误。投票以“无法复制”结束。 你用的是什么浏览器?它对我来说很好用 【参考方案1】:

我使用了不正确的 js 文件。我用 getFullYear() 更新的文件不是正在运行的文件。正在运行的是使用 getYear()。

【讨论】:

以上是关于Javascript Date.getFullYear() 行为与 Date.getYear() 相同的主要内容,如果未能解决你的问题,请参考以下文章

javascript的题。

javascript JavaScript isset()等效: - JavaScript

JavaScript 使用JavaScript更改CSS(JavaScript)

JavaScript之基础-1 JavaScript(概述基础语法)

前端基础-JavaScript的基本概述和语法

JavaScript