js时间戳转换⽇期格式和⽇期计算⼀、时间戳转换⽇期
1function formatDate(datetime) {
2// 获取年⽉⽇时分秒值 slice(-2)过滤掉⼤于10⽇期前⾯的0
3var year = FullYear(),
4 month = ("0" + (Month() + 1)).slice(-2),
5 date = ("0" + Date()).slice(-2),
6 hour = ("0" + Hours()).slice(-2),
7 minute = ("0" + Minutes()).slice(-2),
8 second = ("0" + Seconds()).slice(-2);
9// 拼接
10var result = year + "-"+ month +"-"+ date +" "+ hour +":"+ minute +":" + second;
11// 返回
12return result;
13 }
14
15var date = new Date();
16 console.log(formatDate(date)); // 2018-05-26 23:09:26
⼆、合同⽇期计算
根据开始⽇期和期限,计算结束⽇期
1//date:⽇期字符串yyyy-MM-dd,如:2016-02-14
2//years:年份,正整数字符串
3//返回⽇期字符串yyyy-MM-dd,如:2016-02-14
4function dateAddYear(date, years) {
5var now = new Date(date);
6var intYear = FullYear() + parseInt(years);
7var intMonth = Month() + 1; //正常的⽉份,
8var intDay = Date() - 1; //⽇期-1
9if (intDay == 0) {
10 intMonth--; //减少⼀个⽉
11if (intMonth == 0) {
12 intYear--; //0:减少⼀年
13 intMonth = 12;
14 intDay = 31;
15 }
16else if (intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) {
17 intDay = 30; //4,6,9,11:30天
18 }
19else if (intMonth == 2) {
20 intDay = 28; //2:28/29
21if (intYear % 4 == 0) {
22 intDay = 29;
23 }
24 } else {
25 intDay = 31; //1,3,5,7,8,10,12 :31天
26 }
27 }
28
29var strMonth = (intMonth) < 10 ? "0" + (intMonth).toString() : (intMonth).toString();
30var strDay = (intDay) < 10 ? "0" + (intDay).toString() : (intDay).toString();
31var strEndDate = intYear + "-" + strMonth + "-" + strDay;
32return strEndDate;
33 }
34
35 console.log(dateAddYear('2018-6-10','2')); // 2020-06-09
三、根据开始⽇期,计算count天过后的⽇期
beginDate是开始⽇期,字符串格式
count是指多少天,整型数
注意:setDate和getDate结合使⽤
date.Date() + count);
1function calculateDate(beginDate,count){
2var date = new Date(beginDate);
3date.Date() + count);
4var year = FullYear();
5var month = ("0" + (Month()+1)).slice(-2);
6var day = ("0" + Date()).slice(-2);
7var hours = ("0" + Hours()).slice(-2);
8var minute = ("0" + Minutes()).slice(-2);
9var second = ("0" + Seconds()).slice(-2);
10
11var endDate = year + "-"+ month +"-"+ day +" "+ hours +":"+ minute +":" + second;
12
13return endDate;
14 }
15
16 console.log(calculateDate('2018-5-26 23:50:32',30)); // 2018-06-25 23:50:32
四、计算n⽉之后的⽇期
1function addMonth(date,monthNum){
2var str = date.split('-');
3var day = parseInt(str[2]);
4var nextMonth = new Date( str[0], parseInt(str[1])+monthNum, 0);
5var max = Date();
6 endDate = new Date( str[0],str[1]-1+monthNum,day>max? max: day );
LocaleDateString().match(/\d+/g).join('-');
8 }
9
日期字符串是什么10 console.log(addMonth("2018-12-12",12));
1function addMonth(date,monthNum){
2
3var str = date.split('-');
4var oldDate = new Date(str[0], parseInt(str[1]), 0);
5var oldDay = Date();
6 console.log(oldDay);
7var day = parseInt(str[2]);
8var nextMonth = new Date( str[0], parseInt(str[1])+monthNum, 0);
9var max = Date();
10if(day >28 && day < 31){
11 max = max - (oldDay - day);
12 console.log(max);
13 }
14 endDate = new Date( str[0],str[1]-1+monthNum,day>max? max: day );
LocaleDateString().match(/\d+/g).join('-');
16 }
17
18 console.log(addMonth("2018-1-27",1));
五、常⽤的Date对象⽅法
1. Date() 返回当⽇的⽇期和时间。
2. getDate()从 Date 对象返回⼀个⽉中的某⼀天 (1 ~ 31)。
3. getDay() 从 Date 对象返回⼀周中的某⼀天 (0 ~ 6)。
4. getMonth()从 Date 对象返回⽉份 (0 ~ 11)。
5. getFullYear()从 Date 对象以四位数字返回年份。
6. getYear() 请使⽤ getFullYear() ⽅法代替。
7. getHours()返回 Date 对象的⼩时 (0 ~ 23)。
8. getMinutes()返回 Date 对象的分钟 (0 ~ 59)。
9. getSeconds()返回 Date 对象的秒数 (0 ~ 59)。
10. getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
11. getTime() 返回 1970 年 1 ⽉ 1 ⽇⾄今的毫秒数。
12. getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。
13. getUTCDate() 根据世界时从 Date 对象返回⽉中的⼀天 (1 ~ 31)。
14. getUTCDay() 根据世界时从 Date 对象返回周中的⼀天 (0 ~ 6)。
15. getUTCMonth() 根据世界时从 Date 对象返回⽉份 (0 ~ 11)。
16. getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
17. getUTCHours() 根据世界时返回 Date 对象的⼩时 (0 ~ 23)。
18. getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
19. getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
20. getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。
21. parse() 返回1970年1⽉1⽇午夜到指定⽇期(字符串)的毫秒数。
22. setDate()设置 Date 对象中⽉的某⼀天 (1 ~ 31)。
23. setMonth()设置 Date 对象中⽉份 (0 ~ 11)。
24. setFullYear() 设置 Date 对象中的年份(四位数字)。
25. setYear() 请使⽤ setFullYear() ⽅法代替。
26. setHours() 设置 Date 对象中的⼩时 (0 ~ 23)。
27. setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
28. setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
29. setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
30. setTime() 以毫秒设置 Date 对象。
31. setUTCDate() 根据世界时设置 Date 对象中⽉份的⼀天 (1 ~ 31)。
32. setUTCMonth() 根据世界时设置 Date 对象中的⽉份 (0 ~ 11)。
33. setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。
34. setUTCHours() 根据世界时设置 Date 对象中的⼩时 (0 ~ 23)。
35. setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
36. setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
37. setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
38. toSource() 返回该对象的源代码。
39. toString()把 Date 对象转换为字符串。
40. toTimeString() 把 Date 对象的时间部分转换为字符串。
41. toDateString() 把 Date 对象的⽇期部分转换为字符串。
42. toGMTString() 请使⽤ toUTCString() ⽅法代替。
43. toUTCString() 根据世界时,把 Date 对象转换为字符串。
44. toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。
45. toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
46. toLocaleDateString() 根据本地时间格式,把 Date 对象的⽇期部分转换为字符串。
47. UTC() 根据世界时返回 1970 年 1 ⽉ 1 ⽇到指定⽇期的毫秒数。
48. valueOf() 返回 Date 对象的原始值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论