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

标签 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"

要转换的日期是 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/

相关文章:

javascript - 是否可以卸载 JavaScript?

javascript - 在不暴露访问 key 的情况下将文件上传到非公共(public) S3 存储桶的最佳方式

javascript - 将 JavaScript new Date() 转换为 php DateTime()

javascript - 在 JavaScript 中将一个月添加到日期

javascript - 没有值时更改输入和文本区域背景颜色

javascript - 正则表达式:在一个字符串中多次检查javascript

java - 为什么使用 SimpleDateFormat '23:00 PM' 解析 ("hh:mm aa") 返回上午 11 点?

SQL 将字符串转换为日期格式 112

php - 将此字符串转换为时间戳 PHP

nginx - Lua 中 ISO 8601 的时间戳