新日期()给我错误的一年 - Windows 10和VS2015 [重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

// javascript
var date1 = new Date('1/1/19');
var y = date1.getYear();
var fy = date1.getFullYear();

当我运行代码时(Windows 10,VS2015,MVC5,Jquery 3.3.1,Bootstrap 4.1:

y = '19'
fy = '1919'

根据规格,我应该得到:

y = "119"
fy = "2019"

我确实去了不同的网站,我运行上面的代码,我得到了正确的结果,但没有从我的电脑。

任何人都可以确认这个问题,还是仅仅是我的电脑问题?

javascript date new-operator
1个回答
0
投票

你可以找到一些信息here。例如,你可以找到

上个世纪 - 一位和两位数年份将被解释为19xx:

完整的日期输入格式规格可用here

简而言之,为了从2019调用获得getFullYear(),你应该初始化Date实例,提供类似01/01/2019的东西。

恕我直言,为了避免与时区的问题和误解,采用一种简单,安全的策略是有用的:使用ISO 8601 format构造函数支持的Date(String)引用日期。

对于高级用途,您可以通过像moment.js这样的库进行日期交互,这样可以提供比标准日期API更自定义,简单且可用的API(并提供显式处理时区的扩展,如果是这种情况)。

© www.soinside.com 2019 - 2024. All rights reserved.