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

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

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

如何获取Date.parse将此解析为本地时间?

最佳答案

尝试使用此功能,如对此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;获取日期对象而不是字符串。

关于javascript - Date.parse,当未以ISO格式日期指定时区时使用本地时区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32486073/

10-16 13:38