【问题标题】:Typescript convert string to datetime打字稿将字符串转换为日期时间
【发布时间】:2016-10-21 03:13:06
【问题描述】:

在打字稿中,如何将这样的字符串转换为日期时间?

2019-01-19 14:00:12

我不确定这是否正确

new Date("2019-01-19 14:00:12")

我认为有一些方法可以在其中指定时区。

【问题讨论】:

标签: javascript typescript


【解决方案1】:

如果您构建新日期,它将使用客户端的时区。有关如何构造日期的更多信息,请参见此处:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date

您可以手动解析日期字符串并使用年、月、日、小时、分钟、秒值构造新的 Date 对象。或者,如果您的日期字符串格式正确,您可以使用 Date.Parse(...) 函数,请在此处查看更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse

如果你想要 UTC 日期,你需要用 new Date.UTC(...) 构造它

【讨论】:

  • 如果你构造一个新的日期,它将使用客户端的时区。 其实这是不正确的。您可能的意思是,如果您将日期转换为字符串,ti 将使用来自客户端的时区来表示它。
  • 不,我的意思不是它会根据客户端时区构造日期。来自 msdn:“构造函数根据系统设置为当前日期和时间创建一个 JavaScript Date 对象”。 Date 实际代表的是自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。因此,如果您 PC 上的时区为 +2,它将构造 Date 多 2*60*60*1000 毫秒。
  • 这也是您可以在客户端检查本地时区的方法,您可以构建新日期并获取它与 UTC 时间的偏移量:new Date().getTimezoneOffset()(在此处查看更多信息:@987654323 @)
【解决方案2】:

要从字符串转换为日期,那么你应该转换为

const date = new Date("2019-01-19 14:00:12");
console.log(date);

更多:Date Utils

【讨论】:

    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 2017-08-31
    相关资源
    最近更新 更多