javascript - 某些 UTC 字符串 Javascript 的日期无效
问题描述
尝试在任何给定机器上获取任何给定时间戳的 UTC 日期(使用他们自己的本地时间),我使用了:
var date = new Date(timestamp).toLocaleString('en-GB', { timeZone: 'UTC' });
一旦我尝试将日期字符串转换为 UTC 日期,我会在某些日期得到Invalid Date ......这一切看起来都很奇怪。
$ node
> date = new Date('15/08/2019, 00:00:00');
Invalid Date
> date = new Date('12/08/2019, 00:00:00');
2019-12-08T00:00:00.000Z
> date = new Date('15/08/2019');
知道无效日期问题可能来自哪里吗?
解决方案
通过使用“en-GB”语言环境将时间戳转换为字符串,看起来您正在以 DD/MM/YYYY 格式获取它们。但是在您的第二个示例中,无论您的默认语言环境是什么,字符串都被解释为“MM/DD/YYYY”,因此第一次调用失败,因为 15 不是有效的月份数。
推荐阅读
- python - Python Pandas read_html 摆脱了表格中的嵌套 span 元素
- d - 使用关联数组,其中值类型是 std.typecons.Nullable 的实例化
- vbscript - 如何使用 vbs 在所有其他正在运行的程序后面运行一个程序?
- json - 在 Haskell 中将 SQLite 数据库转换为 JSON
- scala - 将 ScalaCheck 生成器与 ScalaTest 的 GivenWhenThen 一起使用
- java - 在 Java 中的 Rummikub 游戏中实现计时器
- docker - 在 docker-compose up 后为一个图像运行命令
- rabbitmq - 标头值丢失弹簧集成
- url - 我想了解 - 显示不同价格的 URL 参数
- c - 如何在 C 中创建硬/软链接?