我尝试搜索此问题,但未找到任何内容,因此在标记为重复项之前,请先阅读整个问题。
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/