您的位置:首页 > Web前端 > JavaScript

Js获取或计算时间的相关操作

2017-12-18 17:10 417 查看
1     //获取当前日期(年月日),如:2017-12-18
2     function getNowDate() {
3         var dd = new Date();
4         var y = dd.getFullYear();
5         //获取当前月份的日期,不足10补0
6         var m = (dd.getMonth() + 1) < 10 ? '0' + (dd.getMonth() + 1) : (dd.getMonth() + 1);
7         //获取当前几号,不足10补0
8         var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate();
9         return y + '-' + m + '-' + d;
10     }
11
12     //计算多少天前后的日期
13     //addDayCount:前后要计算的天数
14     //startDate:开始日期,为空则表示当前日期
15     function getDateAdd(addDayCount, startDate) {
16         /******
17             半年前:getDateAdd(-180)
18             三月前:getDateAdd(-90)
19             一月前:getDateAdd(-30)
20             昨天:getDateAdd(-1)
21             今天:getDateAdd(0)
22             明天:getDateAdd(1)
23             后天:getDateAdd(2)
24             一月后:getDateAdd(30)
25             三月后:getDateAdd(90)
26             半年后:getDateAdd(180)
27         ******/
28
29         var dd = startDate && startDate.length > 0 ? new Date(startDate) : new Date();
30         //获取addDayCount天后的日期
31         dd.setDate(dd.getDate() + addDayCount);
32         var y = dd.getFullYear();
33         //获取当前月份的日期,不足10补0
34         var m = (dd.getMonth() + 1) < 10 ? '0' + (dd.getMonth() + 1) : (dd.getMonth() + 1);
35         //获取当前几号,不足10补0
36         var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate();
37         return y + '-' + m + '-' + d;
38     }
39
40     /**
41      * 计算2个日期相差的天数,可包含今天,如:2017-12-18到2017-12-20,相差2天(isIncludeToday=true时为3天)
42      *  startDateString:开始日期
43      *  endDateString:结束日期
44      *  isIncludeToday:是否包含今天
45      */
46     function dateDiff(startDateString, endDateString, isIncludeToday) {
47         var separator = "-"; //日期分隔符
48         var startDates = startDateString.split(separator);
49         var endDates = endDateString.split(separator);
50         var startDate = new Date(startDates[0], startDates[1] - 1, startDates[2]);
51         var endDate = new Date(endDates[0], endDates[1] - 1, endDates[2]);
52         //return parseInt(Math.abs(endDate - startDate) / 1000 / 60 / 60 / 24) + (isIncludeToday ? 1 : 0);//把相差的毫秒数转换为天数
53         return parseInt((endDate - startDate) / 1000 / 60 / 60 / 24) + (isIncludeToday ? 1 : 0);//把相差的毫秒数转换为天数
54     }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: