【问题标题】:How to ignore time-zone on new Date()?如何忽略 new Date() 上的时区?
【发布时间】:2016-04-18 14:35:22
【问题描述】:

我有一个名为 updateLatestDate 的 JavaScript 函数,它接收对象的参数数组。

数组中对象的属性之一是日期类型的MeasureDate属性。

函数updateLatestDate返回数组中存在的最新日期。

函数如下:

function updateLatestDate(sensorsData) {
    return new Date(Math.max.apply(null, sensorsData.map(function (e) {
        return new Date(e.MeasureDate);
    })));
}

下面是函数接收的参数示例:

[{
    "Address": 54,
    "AlertType": 1,
    "Area": "North",
    "MeasureDate": "2009-11-27T18:10:00",
    "MeasureValue": -1
  },
  {
    "Address": 26,
    "AlertType": 1,
    "Area": "West",
    "MeasureDate": "2010-15-27T15:15:00",
    "MeasureValue": -1
  },
  {
    "Address": 25,
    "AlertType": 1,
    "Area": "North",
    "MeasureDate": "2012-10-27T18:10:00",
    "MeasureValue": -1
  }]

函数updateLatestDate将返回数组中最后一个对象的MeasureDate值。

它看起来像这样:

 var latestDate = Sat Oct 27 2012 21:10:00 GMT+0300 (Jerusalem Daylight Time)

如您所见,返回结果的时间与输入对象的时间不同。时间根据GMT变化。

但我不希望根据 GMT 更改时间。

想要的结果是:

 var latestDate = Sat Oct 27 2012 18:10:00 

知道如何在从 updateLatestDate 函数返回日期时忽略时区吗?

【问题讨论】:

  • 看起来像这样是什么意思?在你的调试器中?用户看到了什么?
  • 用矩库最好
  • @Walfrat 是在调试器中。稍后我将值发送到服务器
  • @Devank 有什么方法可以在不使用库的情况下解决这个问题?
  • @Michael 所以您的输入将是“2012 年 10 月 27 日星期六 21:10:00 GMT+0300”,输出将是“2012 年 10 月 27 日星期六 23:40:00”

标签: javascript timestamp-with-timezone


【解决方案1】:

正如 Frz Khan 指出的那样,您可以在从函数返回日期时使用 .toISOString() 函数,但如果您正在寻找 UTC 格式,请使用 .toUTCString(),它会输出类似 Mon, 18 Apr 2016 18:09:32 GMT

function updateLatestDate(sensorsData) {
    return new Date(Math.max.apply(null, sensorsData.map(function (e) {
        return new Date(e.MeasureDate).toUTCString();
    })));
}

【讨论】:

  • 感谢@Chris 的回答。只是一个旁注。我认为您应该链接到 MDN 而不是 w3schools。干杯。
【解决方案2】:

Date.toISOString() 函数正是您所需要的 试试这个:

var d = new Date("2012-10-27T18:10:00");
d.toISOString();

结果:

"2012-10-27T18:10:00.000Z"

【讨论】:

    【解决方案3】:

    如果你使用时刻,它将是

    moment('Sat Oct 27 2012 21:10:00 GMT+0300', 'ddd MMM DD DDDD HH:mm:SS [GMT]ZZ').format('ddd MMM DD YYYY HH:mm:SS')
    

    【讨论】:

      猜你喜欢
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      相关资源
      最近更新 更多