使用javascript的date.toISOString并忽略时区

chi*_*apa 3 javascript datetime date-conversion

我想使用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"
Run Code Online (Sandbox Code Playgroud)

要转换的日期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#中对其进行操作.这是我目前的解决方案,但我正在寻找客户端方案.

Ion*_*ica 7

基于在MDN 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';
    };

  }());
}
Run Code Online (Sandbox Code Playgroud)

所以只需使用它toLocalISOString而不是toISOString.