19

可能重复:
向 Javascript 日期对象添加小时数?

我有 javascript 日期时间对象。

我想在该日期时间上增加 24 小时

例如。

如果是2 dec 2012 3:30:00=>3 dec 2012 3:29:00

如果是31 dec 2012 3:30:00=>1 jan 2013 3:29:00

ETC

有什么建议吗???

4

2 回答 2

37

一种可能的解决方案:

new Date(new Date(myStringDate).getTime() + 60 * 60 * 24 * 1000);
于 2012-12-07T12:19:35.457 回答
32

这将是一种方式

var myDate = new Date("2 dec 2012 3:30:00") // your date object
myDate.setHours(myDate.getHours() + 24)
console.log(myDate) //Mon Dec 03 2012 03:30:00 GMT+0100 (Mitteleuropäische Zeit)
  • Date.setHours允许您设置日期对象的时间
  • Date.getHours检索它们

在此解决方案中,它只是从您的 Date 对象中获取 Hours 添加 24 并将它们写回您的对象。

当然还有其他可能的方法可以达到相同的结果,例如

  • 调整毫秒

    • Date.getTime为您提供自 1970 年 1 月 1 日午夜以来对象的毫秒数
    • Date.setTime设置它们

因此,向您的日期对象添加24 * 60 * 60 * 100086400000毫秒将导致相同的结果请参阅VisioN的答案

  • 添加一天
    • Date.getDateDate获取对象的月份日期
    • Date.setDate设置它们

将其增加一,将再次导致与
Ian评论中提到的相同

所以它只是取决于你觉得最容易理解的东西如果你愿意,看看这个 w3schools例子,以获得处理日期的起点

于 2012-12-07T12:18:41.503 回答