jquery - 将字符串转换为时间对象

标签 jquery datetime

我有像“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/

相关文章:

javascript - 用不同的类包装两个 div

regex - 在日志中的日期范围之间进行 grep

php - 如何查看时间是否与MYSQL中已存在的记录重叠?

javascript - 在 jQuery 中重新启动或反转代码

javascript - jQuery 分页转到输入值更改的页面

jquery - 使用 Thymeleaf 调用 Javascript 函数

node.js - Microsoft Graph - 筛选开始/日期时间

java - 在java中计算两个给定时间之间的差异

python - 使用 MinuteLocator 为 pandas.DataFrame.plot 每分钟设置一次滴答给出 "OverflowError: int too big to convert"

javascript - 将文本值保存到 ListView 并开始计时