如何忽略 new Date() 上的时区?

Mic*_*ael 8 javascript timestamp-with-timezone

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

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

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

这是函数:

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

这是函数接收参数的示例:

[{
    "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
  }]
Run Code Online (Sandbox Code Playgroud)

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

它看起来像这样:

 var latestDate = Sat Oct 27 2012 21:10:00 GMT+0300 (Jerusalem Daylight Time)
Run Code Online (Sandbox Code Playgroud)

可以看到,返回结果的时间与输入对象的时间不同。时间根据GMT变化。

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

期望的结果是:

 var latestDate = Sat Oct 27 2012 18:10:00 
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*uez 3

正如 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();
    })));
}
Run Code Online (Sandbox Code Playgroud)