| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- const formatTime = date => {
- const year = date.getFullYear()
- const month = date.getMonth() + 1
- const day = date.getDate()
- const hour = date.getHours()
- const minute = date.getMinutes()
- const second = date.getSeconds()
- return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
- }
- const formatNumber = n => {
- n = n.toString()
- return n[1] ? n : '0' + n
- }
- const formatDate = date => {
- const year = date.getFullYear()
- const month = date.getMonth() + 1
- const day = date.getDate()
- const hour = date.getHours()
- const minute = date.getMinutes()
- const second = date.getSeconds()
- return [year, month, day].map(formatNumber).join('/')
- }
- //计算相差天数
- const datedifference = (sDate1, sDate2) => { //sDate1和sDate2是2006-12-18格式
- var dateSpan,
- tempDate,
- iDays;
- sDate1 = Date.parse(sDate1.replace(/-/g, '/'));
- sDate2 = Date.parse(sDate2.replace(/-/g, '/'));
- dateSpan = sDate2 - sDate1;
- dateSpan = Math.abs(dateSpan);
- iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
- return iDays
- };
- const getDays = (date1, date2) => {
- const dateTime = 1000 * 60 * 60 * 24; //每一天的毫秒数
- const minusDays = Math.floor(((date2.getTime() - date1.getTime()) / dateTime));//计算出两个日期的天数差
- return Math.abs(minusDays);
- }
- /**
- * [dateAddDays 从某个日期增加n天后的日期]
- * @param {[string]} dateStr [日期字符串]
- * @param {[int]} dayCount [增加的天数]
- * @return {[string]}[增加n天后的日期字符串]
- */
- const dateAddDays = (dateStr, dayCount) => {
- var tempDate = new Date(dateStr.replace(/-/g, "/"));//把日期字符串转换成日期格式
- var resultDate = new Date((tempDate / 1000 + (86400 * dayCount)) * 1000);//增加n天后的日期
- var resultDateStr = resultDate.getFullYear() + "-" + (resultDate.getMonth() + 1) + "-" + (resultDate.getDate());//将日期转化为字符串格式
- return resultDateStr;
- }
- /**
- * 根据newDate 来获取加的日期
- */
- const addDaysFromNewDate = (tempDate, dayCount) => {
- var resultDate = new Date((tempDate / 1000 + (86400 * dayCount)) * 1000);//增加n天后的日期
- // var resultDateStr=resultDate.getFullYear()+"/"+(resultDate.getMonth()+1)+"/"+(resultDate.getDate());//将日期转化为字符串格式
- // return resultDateStr;
- const year = resultDate.getFullYear();
- const month = resultDate.getMonth() + 1;
- const day = resultDate.getDate();
- return [year, month, day].map(formatNumber).join('/')
- }
- const getWeightDate = date => {
- var timearr = date.replace(" ", ":").replace(/\:/g, "-").split("-");
- var timestr = "" + timearr[1] + "/" + timearr[2]
- return timestr
- }
- const dateAddDate = (dateStr, dayCount) => {
- var tempDate = new Date(dateStr.replace(/-/g, "/"));//把日期字符串转换成日期格式
- var resultDate = new Date((tempDate / 1000 + (86400 * dayCount)) * 1000);//增加n天后的日期
- const year = resultDate.getFullYear()
- const month = resultDate.getMonth() + 1
- const day = resultDate.getDate()
- const hour = resultDate.getHours()
- const minute = resultDate.getMinutes()
- const second = resultDate.getSeconds()
- //将日期转化为字符串格式
- return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':');
- }
- const addDayTranMillisecond = (dateStr, dayCount) => {
- var tempDate = new Date(dateStr.replace(/-/g, "/"));//把日期字符串转换成日期格式
- var resultDate = new Date((tempDate / 1000 + (86400 * dayCount)) * 1000);//增加n天后的日期
- //将日期转化为字符串格式
- return resultDate.getTime();
- }
- //计算剩余时间
- const remainDayAndHour = (sDate1, currentDate) => { //sDate1和sDate2是2006-12-18格式
- var dateSpan,
- tempDate,
- iDays;
- sDate1 = Date.parse(sDate1.replace(/-/g, '/'));
- currentDate = Date.parse(currentDate.replace(/-/g, '/'));
- dateSpan = currentDate - sDate1;
- // console.log(dateSpan);
- if (dateSpan < 0) {
- dateSpan = Math.abs(dateSpan);
- iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
- // 计算小时数
- var hours = Math.floor(dateSpan / (60 * 60 * 1000));
- // console.log(iDays,hours);
- return [iDays, hours];
- } else {
- return [0, 0];
- }
- };
- //根据毫秒计算剩余时间
- const remainFromMillisecond = (dateMill) => { //
- if (dateMill > 0) {
- // 天数
- let days = Math.floor(dateMill / (24 * 3600 * 1000));
- //计算出小时数
- let leave1 = dateMill % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
- let hours = Math.floor(leave1 / (3600 * 1000))
- //计算相差分钟数
- let leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
- let minutes = Math.floor(leave2 / (60 * 1000))
- //计算相差秒数
- let leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
- let seconds = Math.round(leave3 / 1000)
- return [days, hours, minutes, seconds];
- } else {
- return [0, 0, 0, 0];
- }
- };
- //判断两个日期是否相等
- const datesIsEqual = (sDate1, sDate2) => { //sDate1和sDate2是2006-12-18格式
- var dateSpan;
- sDate1 = Date.parse(sDate1.replace(/-/g, '/'));
- sDate2 = Date.parse(sDate2.replace(/-/g, '/'));
- dateSpan = sDate2 - sDate1;
- if (0 === dateSpan) {
- return true;
- } else {
- return false
- }
- };
- export default {
- formatTime,
- formatDate,
- datedifference,
- getDays,
- dateAddDays,
- addDaysFromNewDate,
- getWeightDate,
- dateAddDate,
- remainDayAndHour,
- addDayTranMillisecond,
- remainFromMillisecond,
- datesIsEqual
- }
|