一、时间戳转换日期
1 function formatDate(datetime) { 2 ????????// 获取年月日时分秒值 ?slice(-2)过滤掉大于10日期前面的0 3 ????????var year = datetime.getFullYear(), 4 ????????????month = ("0" + (datetime.getMonth() + 1)).slice(-2), 5 ????????????date = ("0" + datetime.getDate()).slice(-2), 6 ????????????hour = ("0" + datetime.getHours()).slice(-2), 7 ????????????minute = ("0" + datetime.getMinutes()).slice(-2), 8 ????????????second = ("0" + datetime.getSeconds()).slice(-2); 9 ????????// 拼接10 ????????var result = year + "-"+ month +"-"+ date +" "+ hour +":"+ minute +":" + second;11 ????????// 返回12 ????????return result;13 ????}14 15 ????var 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 4 ????function dateAddYear(date, years) { 5 ????????var now = new Date(date); 6 ????????var intYear = now.getFullYear() + parseInt(years); 7 ????????var intMonth = now.getMonth() + 1; //正常的月份, 8 ????????var intDay = now.getDate() - 1; //日期-1 9 ????????if (intDay == 0) {10 ????????????intMonth--; //减少一个月11 ????????????if (intMonth == 0) {12 ????????????????intYear--; //0:减少一年13 ????????????????intMonth = 12;14 ????????????????intDay = 31;15 ????????????}16 ????????????else if (intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) {17 ????????????????intDay = 30; //4,6,9,11:30天18 ????????????}19 ????????????else if (intMonth == 2) {20 ????????????????intDay = 28; //2:28/2921 ????????????????if (intYear % 4 == 0) {22 ????????????????????intDay = 29;23 ????????????????}24 ????????????} else {25 ????????????????intDay = 31; //1,3,5,7,8,10,12 :31天26 ????????????}27 ????????}28 29 ????????var strMonth = (intMonth) < 10 ? "0" + (intMonth).toString() : (intMonth).toString();30 ????????var strDay = (intDay) < 10 ? "0" + (intDay).toString() : (intDay).toString();31 ????????var strEndDate = intYear + "-" + strMonth + "-" + strDay;32 ????????return strEndDate;33 ????}34 ????35 ????console.log(dateAddYear(‘2018-6-10‘,‘2‘)); // ?2020-06-09
三、根据开始日期,计算count天过后的日期
beginDate是开始日期,字符串格式
count是指多少天,整型数
注意:setDate和getDate结合使用
date.setDate(date.getDate() + count);
1 function calculateDate(beginDate,count){ 2 ????????var date = new Date(beginDate); 3 ????????date.setDate(date.getDate() + count); 4 ????????var year = date.getFullYear(); 5 ????????var month = ("0" + (date.getMonth()+1)).slice(-2); 6 ????????var day = ("0" + date.getDate()).slice(-2); 7 ????????var hours = ("0" + date.getHours()).slice(-2); 8 ????????var minute = ("0" + date.getMinutes()).slice(-2); 9 ????????var second = ("0" + date.getSeconds()).slice(-2);10 11 ????????var endDate = year + "-"+ month +"-"+ day +" "+ hours +":"+ minute +":" + second;12 13 ????????return endDate;14 ????}15 16 ????console.log(calculateDate(‘2018-5-26 23:50:32‘,30)); // 2018-06-25 23:50:32
四、常用的Date对象方法
- Date() 返回当日的日期和时间。
- getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
- getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
- getMonth() 从 Date 对象返回月份 (0 ~ 11)。
- getFullYear() 从 Date 对象以四位数字返回年份。
- getYear() 请使用 getFullYear() 方法代替。
- getHours() 返回 Date 对象的小时 (0 ~ 23)。
- getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
- getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
- getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
- getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
- getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。
- getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
- getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
- getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。
- getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
- getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。
- getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
- getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
- getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。
- parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
- setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
- setMonth() 设置 Date 对象中月份 (0 ~ 11)。
- setFullYear() 设置 Date 对象中的年份(四位数字)。
- setYear() 请使用 setFullYear() 方法代替。
- setHours() 设置 Date 对象中的小时 (0 ~ 23)。
- setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
- setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
- setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
- setTime() 以毫秒设置 Date 对象。
- setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
- setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。
- setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。
- setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。
- setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
- setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
- setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
- toSource() 返回该对象的源代码。
- toString() 把 Date 对象转换为字符串。
- toTimeString() 把 Date 对象的时间部分转换为字符串。
- toDateString() 把 Date 对象的日期部分转换为字符串。
- toGMTString() 请使用 toUTCString() 方法代替。
- toUTCString() 根据世界时,把 Date 对象转换为字符串。
- toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。
- toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
- toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
- UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
- valueOf() 返回 Date 对象的原始值。
js时间戳转换日期格式和日期计算
原文地址:https://www.cnblogs.com/le220/p/9094838.html