Date() 将某些日期字符串转换为本地时间
Date() converts certain date strings to local time
我试图通过用 Date(( 对象包装它们来比较两个日期字符串的相等性。我住在西雅图,出于某种原因,第二个日期字符串被转换为 PST,然后在 GMT 中呈现,结果如下:
new Date("January 1, 2012")
>>> Sun Jan 01 2012 00:00:00 GMT-0800 (PST)
new Date("2012-01-01")
>>> Sat Dec 31 2011 16:00:00 GMT-0800 (PST)
在 chrome 控制台中尝试上述操作,您应该会得到相同的结果。如何获取日期以将第二个语句评估为 GMT 而不是 PST?
不要使用 Date 对象来解析日期字符串,它在 ECMAScript ed 3 中被指定为依赖于实现,并且在浏览器中不能一致地工作。ES5 中指定了ISO8601日期字符串的一种格式,但这也不能始终如一地工作。手动分析字符串。
几个与 UTC ISO8601字符串之间的函数:
if (!Date.prototype.toUTCISOString) {
Date.prototype.toUTCISOString = function() {
function addZ(n) {
return (n<10? '0' : '') + n;
}
function addZ2(n) {
return (n<10? '00' : n<100? '0' : '') + n;
}
return this.getUTCFullYear() + '-' +
addZ(this.getUTCMonth() + 1) + '-' +
addZ(this.getUTCDate()) + 'T' +
addZ(this.getUTCHours()) + ':' +
addZ(this.getUTCMinutes()) + ':' +
addZ(this.getUTCSeconds()) + '.' +
addZ2(this.getUTCMilliseconds()) + 'Z';
}
}
if (!Date.parseUTCISOString) {
Date.parseUTCISOString = function fromUTCISOString(s) {
var b = s.split(/[-T:'.Z]/i);
var n= new Date(Date.UTC(b[0],b[1]-1,b[2],b[3],b[4],b[5]));
return n;
}
}
var s = '2012-05-21T14:32:12Z'
var d = Date.parseUTCISOString(s);
alert('Original string: ' + s +
''nEquivalent local time: ' + d +
''nBack to UTC string: ' + d.toUTCISOString());
根据 robg 的建议,你可以看看 DateJS 或 moment.js
那是
因为你的时区,你迟到了 8:00 小时到"2012-01-01"
,所以它像这样显示,对我来说我得到了这个
new Date("January 1, 2012")
Sun Jan 01 2012 00:00:00 GMT+0530 (IST)
new Date("2012-01-01")
Sun Jan 01 2012 05:30:00 GMT+0530 (IST)
相关文章:
- 将日期时间从json转换为可读格式
- 将日期和时间转换为UTC格式的日期-Javascript
- javascript/jquery将utc转换为短格式的本地时间
- 转换异常时间&Datestring到JavaScript日期
- 如何将datetime转换为以毫秒为单位的epoch时间javascript
- 将时间戳转换为java中的ISO860,
- 用JavaScript将ISO时间转换为H:MM am|pm
- 使用select选项转换时间.使用javascript
- 添加css转换时间以使用javascript切换类
- 在 UTC 和特定时区之间转换时间 - 新的国际化 API
- 转换时间中的日期,并使用javascript在其中添加30分钟
- 天气json转换时间Javascript时间戳
- 转换时间戳在UTC到用户本地时间javascript
- 需要使用momentjs转换时间到日期的帮助
- 转换时间字符串格式
- javascript中的For循环转换时间
- 如何转换时间戳并输入<输入类型="日期">
- 转换时间对象
- 如何使用jquery/javascript转换时间/日期
- Javascript转换时间戳