我的电脑使用美国地区设置和日期格式以及-8h GMT时区,但我并不完全在美国地区。为什么在通过新日期获取日期时我可以看到时区偏移是正确的,但是当我尝试将其转换为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()
答案 0 :(得分:0)
toLocaleString的输出完全取决于实现,并且在当前使用的浏览器中不一致。它不一定尊重系统设置(例如,Chrome不遵守组件顺序的系统设置),ECMA-262也没有要求它这样做。
为获得可靠的结果,请以明确的格式手动格式化输出,例如25 Feb 2017
。库可以提供帮助,但如果您只需要一种格式,那么一个简单的函数就足够了。