javascript - 如何转换 HH :mm:ss string to a JavaScript Date object?

标签 javascript jquery

我有一个 HH:mm:ss 格式的动态字符串(例如 18:19:02)。如何将字符串转换为 JavaScript 日期对象(在 Internet Explorer 8、Chrome 和 Firefox 中)?

我尝试了以下方法:

   var d = Date.parse("18:19:02");
   document.write(d.getMinutes() + ":" + d.getSeconds());

最佳答案

您不能直接从像 HH:mm:ss 这样的时间创建日期对象。

但是 - 假设您想要当前日期(Date 对象的日期部分是今天)或者这对您的情况无关紧要 - 您可以执行以下操作:

let d = new Date(); // Creates a Date Object using the clients current time

let [hours, minutes, seconds] = "18:19:02".split(':');

d.setHours(+hours); // Set the hours, using implicit type coercion
d.setMinutes(minutes); // can pass Number or String - doesn't really matter
d.setSeconds(seconds);

// If needed, you could also adjust date and time zone

console.log(d.toString()); //Outputs desired time (+current day/timezone)

现在您有一个 Date 对象,其中包含您指定的时间以及您客户的当前日期和时区。

关于javascript - 如何转换 HH :mm:ss string to a JavaScript Date object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13802587/

相关文章:

javascript - 当您从 anchor 标记开始时,JQuery-Mobile 滑动不起作用

javascript - 第一次在 javascript/jquery 中运行函数时没有做任何事情

javascript - 如何与 PaladinPanoramic API 服务器交互?

javascript - jQuery-handlebars 插件运行完成后立即执行代码

javascript - 使用 javascript 在标签中写入值

jquery - 通过使用 jQuery 插入行更新 DataTables-1.9.1 表时出错

jquery - bootstrap 弹出按钮单击事件无法使用 jquery 工作

javascript - 如何用 jQuery 替换 innerHTML?

javascript - 使用javascript将数据放入文本框中

javascript - Nodejs 减号失败