如何将yyyy-mm-dd格式的字符串转换为Javascript日期对象,而不将日期视为UTC
我真的只有一个简单的问题。我想将yyyy-mm-dd中的字符串转换为javascript中的日期对象。这似乎很简单。您可以只做以下操作如何将yyyy-mm-dd格式的字符串转换为Javascript日期对象,而不将日期视为UTC,javascript,date,datetime,Javascript,Date,Datetime,我真的只有一个简单的问题。我想将yyyy-mm-dd中的字符串转换为javascript中的日期对象。这似乎很简单。您可以只做以下操作 var日期=新日期('2020-04-08')只需将'T00:00:00'附加到日期字符串中即可 const dateString='2020-04-08' 常量时间字符串='T00:00:00' const date=新日期(日期字符串+时间字符串); console.info(date.toString())非常感谢您的回复。实际上,我在发布问题之前阅读
var日期=新日期('2020-04-08')代码>只需将'T00:00:00'
附加到日期字符串中即可
const dateString='2020-04-08'
常量时间字符串='T00:00:00'
const date=新日期(日期字符串+时间字符串);
console.info(date.toString())
非常感谢您的回复。实际上,我在发布问题之前阅读了这一行,但我想我没有想到仅仅添加“T00:00:00”实际上会使日期构造函数将日期视为本地日期。我认为文档应该更新为如下内容。对ISO 8601格式的支持不同之处在于,仅日期字符串(例如“1970-01-01”)被视为UTC,而不是本地字符串。如果不希望将“1970-01-01”视为UTC,则只需在日期字符串中附加“T00:00:00”。在Safari中失败,它会将其视为UTC。如果可能的话,应该避免使用内置解析器,字符串应该使用函数或库手动解析。如果使用库,则应始终提供格式。还看啊,诅咒你的狩猎!我一直认为ISO8601对于Date
constructor是安全的