我有像“2014-06-12T23:00:00”这样的字符串,我想将这些字符串转换为时间对象以便能够为其添加小时数。
我尝试了几次转换和解析,但没有成功。将这些转化为时间对象的正确方法是什么?
最佳答案
您的字符串具有有效的格式,因此您只需键入以下内容即可将其转换为 Date 对象:
var date = new Date("2014-06-12T23:00:00");
但是,该字符串将被解释为 UTC 字符串。当您在客户端中使用它时,将使用该值的本地表示形式。如果您在运行中欧时间的计算机中运行该代码,其中时区为 UTC+1h,并且 6 月 12 日是夏令时,则添加一个额外的小时 date.getDate()
,例如,将正确生成 13
(而不是 12),因为 UTC 6 月 12 日晚上 11 点实际上是本地时间 6 月 13 日凌晨 1 点。
如果您不希望您提供的字符串被解释为 UTC 时间,您可以指定时区:
var date = new Date("2014-06-12T23:00:00 GMT+0200");
如果您希望日期始终被视为本地时间,您可以手动调整偏移量:
var date = new Date("2014-06-12T23:00:00");
date.setMinutes(date.getMinutes() + date.getTimezoneOffset());
关于jquery - 将字符串转换为时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23754153/