我想使用 javascript 的 toISOString()函数并忽略时区。
var someDate; // contains "Tue May 26 2015 14:00:00 GMT+0100 (Hora de Verão de GMT)"
dateIWant = someDate.toISOString(); // turns out "2015-05-26T13:00:00.000Z"
要转换的日期是 Tue May 26 2015 14:00:00 GMT+0100 (Hora de Verão de GMT)
但转换后的日期是 2015-05-26T13:00: 00.000Z
.
因此,我需要 yyyy-MM-ddTHH:mm:ss:msZ
中的日期,但正如您在上面看到的那样,它应用了时区并将小时从 14 更改为 13。
如何实现?
编辑
我正在处理一个 C# MVC 项目,我可以按原样发送日期并在 C# 中对其进行操作。这是我目前的解决方案,但我正在寻找客户端解决方案。
最佳答案
基于在 MDN's Date.prototye.toISOString 找到的 Date.prototype.toISOString 的 polyfill :
if (!Date.prototype.toLocalISOString) {
(function() {
function pad(number) {
if (number < 10) {
return '0' + number;
}
return number;
}
Date.prototype.toLocalISOString = function() {
return this.getFullYear() +
'-' + pad(this.getMonth() + 1) +
'-' + pad(this.getDate()) +
'T' + pad(this.getHours()) +
':' + pad(this.getMinutes()) +
':' + pad(this.getSeconds()) +
'.' + (this.getMilliseconds() / 1000).toFixed(3).slice(2, 5) +
'Z';
};
}());
}
所以只需使用此 toLocalISOString
而不是 toISOString
。
关于javascript - 使用 javascript 的 date.toISOString 并忽略时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30528482/