所以我正在使用Date.toLocaleString()
来获取特定时区的时间,但是我遇到了一个问题,它在两个不同的操作系统上返回两个不同的日期格式
let currentTimeInSGT = new Date().toLocaleString('SG', {
timeZone: 'Asia/Singapore',
hour12: false
})
console.log(currentTimeInSGT)
在Windows上它返回
7/18/2019, 19:19:32
在ubuntu上它返回
18/07/2019, 19:19:32
它们都在chrome上进行了测试,浏览器之间的值也有所不同,firefox和chrome也给出了不同的格式
如何获得一致的日期时间格式?
答案 0 :(得分:1)
您应该使用sg
作为that seems to be the accepted pattern,而不是使用en-SG
作为您的语言环境。
在我检查过的所有浏览器上都产生了相同的结果。 (Chrome,Firefox,Edge)
let currentTimeInSGT = new Date().toLocaleString('en-SG', {
timeZone: 'Asia/Singapore',
hour12: false
})
console.log(currentTimeInSGT)
答案 1 :(得分:-1)
localeString使用系统设置来确定应以哪种格式返回它,每个标记有locale的方法都将在Javascript中显示此行为。
您可以使用toISOString将日期始终转换为字符串
编辑:没有看到Java脚本标记