将日期时间更改为javascript utc格式

时间:2015-04-09 12:44:51

标签: javascript datetime

我有一个按天分组可用性的功能。最后一天的供应时间为22:00至23:00。但自两周前的夏季以来,最后一次出现在第二天的小组中。

var dateTime= new Date(availability.BeginDateTime);
var beginDateTimeTimeMilliseconds = dateUtilities.extractDate(dateTime).getTime();

if (!groupedByDay[beginDateTimeTimeMilliseconds ]) {
  availabilityTimeSlotsGroupedByDay[beginDateTimeTimeMilliseconds ] = [availability];
}  else {
  groupedByDay[beginDateTimeTimeMilliseconds ].push(availability);
}

return groupedByDay;

我想我可以用javascript的utc函数来纠正这个问题。如何将此格式“2015-04-09T14:00:00”更改为utc时间格式?

感谢

2 个答案:

答案 0 :(得分:0)

您可以尝试这样:

var utcDate = new Date(datetime).toISOString();

var utcDate = new Date(datetime.getTime() + datetime.getTimezoneOffset() * 60000);

答案 1 :(得分:0)

@Rahul Tripathi:

我尝试过的是:

var fromDateTimeMilliSeconds = new Date(availability.BeginDateTime).toISOString();
if (!availabilityTimeSlotsGroupedByDay[fromDateTimeMilliseconds]) {
  availabilityTimeSlotsGroupedByDay[fromDateTimeMilliseconds] = [availabilityTimeSlot];
} else {
  availabilityTimeSlotsGroupedByDay[fromDateTimeMilliseconds].push(availabilityTimeSlot);
}

return availabilityTimeSlotsGroupedByDay;

第二个选项:

var fromDateTimeMilliSeconds = new Date(availability.BeginDateTime.getTime() + availability.gettimezoneOffset() * 60000);
if (!availabilityTimeSlotsGroupedByDay[fromDateTimeMilliseconds]) {
  availabilityTimeSlotsGroupedByDay[fromDateTimeMilliseconds] = [availabilityTimeSlot];
} else {
  availabilityTimeSlotsGroupedByDay[fromDateTimeMilliseconds].push(availabilityTimeSlot);
}

return availabilityTimeSlotsGroupedByDay;

使用第一个选项,我得到了相同的结果。当天的最后一次出现也是白天虚假的。 而第二种选择并不成功,我收到了错误。