我需要一个具有日期和年份指定值的jsDate对象。我希望newDate("2000-01-01")
给我Date对象2000作为价值getFullYear()
,但如果我的电脑的时间设定到芝加哥时区,我得到FriDec 31 1999 18:00:00 GMT-0600 (CST)
,和布宜诺斯艾利斯:Fri Dec 31 1999 22:00:00GMT-0200 (ARST)
。
有没有一种方法可以创建Date对象,并.getFullYear()
返回我们在构造函数中设置的日期,无论在用户计算机上设置了什么时区?
更新:我需要在另一个库中使用此Date对象(该库调用其.getFullYear()
方法,因此使用UTC getter并没有真正的帮助。
Date
在JavaScript中将字符串解析为时,YYYY-MM-DD
格式上的值将解释为 UTC 值,而不是本地时间值。
关键是各部分之间用连字符分隔,并且字符串中没有时区信息。ECMAScript 5.1规范在§15.9.1.15中说:
…缺少时区偏移的值为“ Z”。
这意味着,如果您未指定偏移量,则将假定您的意思是UTC。
请注意,由于这与ISO-8601的说法相反,因此ECMAScript2015(6.0)中的行为已更改,在§20.3.1.16中指出:
…如果没有时区偏移,则日期时间将解释为本地时间。
因此,如果正确实施了ES6的此提供,则以前被解释为UTC的这种格式的字符串值将被解释为本地时间。
解决方法很简单。用斜杠替换连字符:
var s = "2000-01-01";
var dt = new Date(s.replace(/-/g, '/'));
可以接受的另一种解决方法是为日期指定中午时间而不是午夜。这将被解析为本地时间,并且距离足以避免任何DST冲突。
var s = "2000-01-01";
var dt = new Date(s + "T12:00:00");
另外,考虑一个像moment.js这样的库,它更明智。
var s = "2000-01-01";
var dt = moment(s, 'YYYY-MM-DD').toDate();
我已经尝试了所有方法来启用安装Symfony2后运行此命令的能力。 php应用程序/控制台缓存:清除--无预热或php应用程序/控制台缓存:清除 我每次都会遇到此错误: [错误异常]警告:date\u default\u timezone\u get():依赖系统的时区设置是不安全的。您需要使用日期。时区设置或date\u default\u timezone\u set()函数。如果您使用了这些
我想在JavaScript中解析没有时区的日期。我试过:
你好,我在node js mongodb工作。 当我将数据插入到集合中时,数据存储为默认的ISODate,例如ISODate(“2016-06-17T13:00:21.665Z”) 我想插入的日期字段应该存储在UTC。 它已经以UTC格式存储,或者需要更改代码中的任何内容? 请任何人推荐我。 我的代码: Mongo插入数据: 我检查了文档中的引用-Mongo UTC引用: Date()在mongo
问题内容: 我想在JavaScript中解析没有时区的日期。我努力了: 返回时间:2005年7月8日星期五, 格林尼治标准时间 +0200 (欧洲中部夏令时间) 返回相同的结果 返回相同的结果 我想解析时间: 没有时区。 无需调用构造函数Date.UTC或新的Date(年,月,日)。 只需将字符串简单地传递到Date构造函数即可(无需原型方法)。 我必须提供对象,而不是。 问题答案: 日期已正确解
我有一个使用百里香叶作为视图层的Spring Boot Web应用程序,我需要显示一些特定时区的日期(CET = UTC 1/UTC 2)。 服务器设置为UTC,所有日期都以UTC格式作为datetime存储在我的数据库中,这很好。 现在我想在我的超文本标记语言页面上显示这个日期,不是UTC格式,而是使用胸膜时序的CET,但它似乎不起作用。 date对象是一个Java Instant。 从 DB
我想从JavaScript对象中获取格式的日期。 从上面一行,我期待但得到 怎么解决?