我有一个名为 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 函数返回日期时如何忽略时区吗?

最佳答案

正如 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();
    })));
}

关于javascript - 如何在 new Date() 上忽略时区?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36697020/

10-12 01:32