Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript toLocaleDateString和toLocaleString方法不考虑机器时区_Javascript_Date_Datetime - Fatal编程技术网

Javascript toLocaleDateString和toLocaleString方法不考虑机器时区

Javascript toLocaleDateString和toLocaleString方法不考虑机器时区,javascript,date,datetime,Javascript,Date,Datetime,我的电脑有美国地区设置和日期格式以及格林威治时间-8小时时区,但我并不完全在美国地区。为什么当通过新日期获取日期时,我可以看到时区偏移是正确的,但当我尝试将其转换为localedateString时,我得到了真正的本地日期字符串 var date = new Date(); ///here date is (for example) Mon Jan 15 2001 12:00:00 GMT-0800 (Pacific Standard Time) var localeString = dat

我的电脑有美国地区设置和日期格式以及格林威治时间-8小时时区,但我并不完全在美国地区。为什么当通过新日期获取日期时,我可以看到时区偏移是正确的,但当我尝试将其转换为localedateString时,我得到了真正的本地日期字符串

var date = new Date();
///here date is (for example)  Mon Jan 15 2001 12:00:00 GMT-0800 (Pacific Standard Time)

var localeString = date.toLocateDateString();
///or date.toLocaleString()

/// localeString here comes in my real locale date format 15.01.2001 г or 15.01.2001 г., 12:00:00 when using toLocaleString()
的输出完全依赖于实现,并且在当前使用的浏览器之间不一致。它不一定遵守系统设置(例如,Chrome不遵守组件顺序的系统设置),ECMA-262中也没有要求它这样做


为获得可靠的结果,请以明确的格式手动设置输出格式,例如2017年2月25日<代码>格式。库可以提供帮助,但如果您只需要一种格式,那么一个简单的函数就足够了。

我找到了答案。浏览器从浏览器当前使用的语言获取日期格式。