Node.js 日期格式不一致

2020-12-04 01:24:00 +08:00
 chenliang0571

相同的日期格式化代码

new Date().toLocaleString('zh-CN', { timeZone: "Asia/Shanghai" })

Windows 中文系统( Node.js v12.14.0 )返回:

'2020-12-4 1:12:28'

Ubuntu 系统( Node.js v12.13.1 )返回:

'12/4/2020, 1:00:59 AM'

Chrome 中:

"2020/12/4 上午 1:15:59"
1166 次点击
所在节点    问与答
6 条回复
seki
2020-12-04 01:39:18 +08:00
你的 nodejs 不一定是带了国际化数据的版本,具体看这里
https://nodejs.org/api/intl.html
anguiao
2020-12-04 01:40:25 +08:00
toLocaleString 本来就没有规定实现,所以不一样很正常。
日期和时间方面的处理,最好还是交给成熟的 npm 包来解决,不要自己写了,坑太多。
yyfearth
2020-12-04 03:49:59 +08:00
这个每个系统都不一样 而且这个有些系统或者软件还可以自定义的
你想要获取一样的结果 请用 dayjs date-fns 来自定义格式 (moment.js deprecated)
way2explore2
2020-12-04 04:34:44 +08:00
toISOString()

了解一下
falcon05
2020-12-04 04:51:09 +08:00
js 时间日期是大坑,还是用第三方的库
sujin190
2020-12-04 09:46:29 +08:00
Locale 的意思本来就是使用本地设置的时间格式,不同系统不同应用都可能有不同设置,返回不同很正常啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/731949

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX