Javascript: new Date(localTime + 'GMT') 你能像这样把你的本地时间转换成格林威治标准时间吗?
Javascript: Can you convert your local time to GMT like so, new Date(localTime + 'GMT')?
我目前有一个 var dateNow
作为 '10 1 2016'
和 var timeNow
作为 '05:15:50'
并且能够像这样转换为 UTC var dateTimeNow = Date(dateNow + timeNow + ' UTC');
现在想将其转换为 GMT,那么将 ' UTC'
更改为 ' GMT'
就这么简单吗?就像,var dateTimeNow = Date(dateNow + timeNow + ' GMT');
?
如果您有一个像“2016 年 10 月 1 日”(我猜是 2016 年 1 月 10 日)这样的日期和一个像“05:15:50”这样的时间,那么您可以在时区中为该时间创建一个日期作为 ISO 8601 格式字符串的零偏移量:“2016-01-10T15:15:50Z”或“2016-01-10T15:15:50+0000”。
ISO 8601 扩展格式字符串应该在现代实现中被正确解析,但是一般来说,使用 Date 构造函数(或 Date.parse,它们等效于解析)解析字符串并不是一个好主意,因为实施中的差异。如果你只有一种格式,它可以用几行来解析。或者,使用具有解析器和格式化程序的众多 Date 库之一,并记住始终为解析器提供您希望它解析的字符串的格式。
本地时间转成UTC时间,必须要知道本地时间的时区偏移量,否则无从调整。
到 "convert" 本地日期,例如 2016 年 1 月 10 日 05:15:50 到 UTC(其中 "local" 是主机系统时区设置的任何值)很简单:
var d = new Date(2016,0,10,5,15,50);
console.log('Local: ' + d.toLocaleString() +
'\nUTC: ' + d.toISOString());
请注意,toLocaleString 完全依赖于实现,通常会忽略浏览器和系统设置,并在不同的实现中产生不同的结果。
这允许主机考虑当前系统时区设置并在创建日期时应用它们。 ECMAScript Date 对象具有基于 UTC 的时间值,因此它们本质上是 UTC。
我目前有一个 var dateNow
作为 '10 1 2016'
和 var timeNow
作为 '05:15:50'
并且能够像这样转换为 UTC var dateTimeNow = Date(dateNow + timeNow + ' UTC');
现在想将其转换为 GMT,那么将 ' UTC'
更改为 ' GMT'
就这么简单吗?就像,var dateTimeNow = Date(dateNow + timeNow + ' GMT');
?
如果您有一个像“2016 年 10 月 1 日”(我猜是 2016 年 1 月 10 日)这样的日期和一个像“05:15:50”这样的时间,那么您可以在时区中为该时间创建一个日期作为 ISO 8601 格式字符串的零偏移量:“2016-01-10T15:15:50Z”或“2016-01-10T15:15:50+0000”。
ISO 8601 扩展格式字符串应该在现代实现中被正确解析,但是一般来说,使用 Date 构造函数(或 Date.parse,它们等效于解析)解析字符串并不是一个好主意,因为实施中的差异。如果你只有一种格式,它可以用几行来解析。或者,使用具有解析器和格式化程序的众多 Date 库之一,并记住始终为解析器提供您希望它解析的字符串的格式。
本地时间转成UTC时间,必须要知道本地时间的时区偏移量,否则无从调整。
到 "convert" 本地日期,例如 2016 年 1 月 10 日 05:15:50 到 UTC(其中 "local" 是主机系统时区设置的任何值)很简单:
var d = new Date(2016,0,10,5,15,50);
console.log('Local: ' + d.toLocaleString() +
'\nUTC: ' + d.toISOString());
请注意,toLocaleString 完全依赖于实现,通常会忽略浏览器和系统设置,并在不同的实现中产生不同的结果。
这允许主机考虑当前系统时区设置并在创建日期时应用它们。 ECMAScript Date 对象具有基于 UTC 的时间值,因此它们本质上是 UTC。