首页 > 代码库 > JS日期时间加减实现

JS日期时间加减实现

首先,上代码

 1 var diffDate = function(date, diff) {
 2                 return new Date(
 3                     Date.UTC(
 4                         date.getUTCFullYear(),
 5                         date.getUTCMonth(),
 6                         date.getUTCDate(),
 7                         date.getUTCHours(),
 8                         date.getUTCMinutes(),
 9                         date.getUTCSeconds()
10                     ) +
11                     diff
12                 );
13             };

其次,上原理

1 将 Date() 对象转换为UTC标准时间对应的总毫秒数

2 把这个毫秒数加上作差值的毫秒数(例如:减一天就是    -24*60*60*1000)

3 把结果毫秒数转换为 Date()对象

4 返回结果

5 结束

 

后记:
  这两天做项目要用到减时间,减一天,考虑了不能直接减,还要考虑是一号还要减月,一月还要减年,闰年,闰月等等。于是放弃了自我研发,开始百度【捂脸】。结果这一搜代码都很复杂。全拿字符串操作。

  转念一想,这么常用的操作js应该提供了方法呀! 于是开始看文档  w3school ,上边把Date() 看了一遍,并没有。

  但是,我发现,有个Date.UTC 。

  啪!有主意了

  花了一些时间,搞定了。

  所以,没事看看文档还是有惊喜的呢!

  大家拿去用,哈哈哈

JS日期时间加减实现