Date.parse,在ISO格式日期

时间:2015-09-09 17:42:45

标签: javascript date

我尝试搜索此内容但没有找到任何内容,请在标记为重复之前阅读整个问题。

documentation for Date.parse指定在解析不包含时区信息的ISO格式日期时,假设为UTC(在“假设时区的差异”部分)。

我有一个没有时区信息的本地日期时间字符串:2015-09-08T11:27:30

如何让Date.parse将其解析为本地时间?

1 个答案:

答案 0 :(得分:2)

尝试此功能,如comment中提到的类似问题。

function localizeDateStr(date_to_convert_str) {
  var date_to_convert = new Date(date_to_convert_str);
  var local_date = new Date();
  date_to_convert.setHours(date_to_convert.getHours() + (local_date.getTimezoneOffset()/60));
  return date_to_convert.toString();
}

alert(localizeDateStr('2015-09-08T11:27:30'));

这将获得从本地日期(除以60以将分钟转换为小时)的时区偏移,然后将该小时数添加到从要本地化的字符串解析的日期。然后,将其转换为字符串将显示带有时区的正确本地时间。

或者,您可以return date_to_convert;获取日期对象而不是字符串。