时间格式处理
import moment from 'moment';
function updateMoment() {
moment.updateLocale("en", {
week: {
dow: +sessionStorage.getItem("weekFirstDay")
}
});
}
function GetNumberOfDays(date1, date2) {
var a1 = Date.parse(new Date(date1));
var a2 = Date.parse(new Date(date2));
var day = parseInt((a2 - a1) / (1000 * 60 * 60 * 24));
return day;
}
function transformTime(type, option, period) {
updateMoment();
let BeginTime;
let EndTime;
let utcBeginTime;
let utcEndTime;
let gapTime;
switch (type) {
case 'day':
switch (option) {
case 'today':
BeginTime = moment().startOf('day').format();
EndTime = moment().endOf('day').format();
utcBeginTime = moment().startOf('day').utc().format();
utcEndTime = moment().endOf('day').utc().format();
break;
case 'yesterday':
BeginTime = moment().subtract(1, 'days').startOf('day').format();
EndTime = moment().subtract(1, 'days').endOf('day').format();
utcBeginTime = moment().subtract(1, 'days').startOf('day').utc().format();
utcEndTime = moment().subtract(1, 'days').endOf('day').utc().format();
break;
case 'custom':
BeginTime = moment(period).startOf('day').format();
EndTime = moment(period).endOf('day').format();
utcBeginTime = moment(period).startOf('day').utc().format();
utcEndTime = moment(period).endOf('day').utc().format();
break;
default:
return;
}
break;
case 'week':
switch (option) {
case 'thisWeek':
BeginTime = moment().startOf('week').format();
EndTime = moment().endOf('week').format();
utcBeginTime = moment().startOf('week').utc().format();
utcEndTime = moment().endOf('week').utc().format();
break;
case 'lastWeek':
BeginTime = moment().week(moment().week() - 1).startOf('week').format();
EndTime = moment().week(moment().week() - 1).endOf('week').format();
utcBeginTime = moment().week(moment().week() - 1).startOf('week').utc().format();
utcEndTime = moment().week(moment().week() - 1).endOf('week').utc().format();
break;
case 'custom':
BeginTime = moment(period).startOf('week').format();
EndTime = moment(period).endOf('week').format();
utcBeginTime = moment(period).startOf('week').utc().format();
utcEndTime = moment(period).endOf('week').utc().format();
break;
default:
return;
}
break;
case 'month':
switch (option) {
case 'thisMonth':
BeginTime = moment().startOf('month').format();
EndTime = moment().endOf('month').format();
utcBeginTime = moment().startOf('month').utc().format();
utcEndTime = moment().endOf('month').utc().format();
break;
case 'lastMonth':
BeginTime = moment().month(moment().month() - 1).startOf('month').format();
EndTime = moment().month(moment().month() - 1).endOf('month').format();
utcBeginTime = moment().month(moment().month() - 1).startOf('month').utc().format();
utcEndTime = moment().month(moment().month() - 1).endOf('month').utc().format();
break;
case 'custom':
BeginTime = moment(period).startOf('month').format();
EndTime = moment(period).endOf('month').format();
utcBeginTime = moment(period).startOf('month').utc().format();
utcEndTime = moment(period).endOf('month').utc().format();
break;
default:
return;
}
break;
case 'year':
switch (option) {
case 'thisYear':
BeginTime = moment().startOf('year').format();
EndTime = moment().endOf('year').format();
utcBeginTime = moment().startOf('year').utc().format();
utcEndTime = moment().endOf('year').utc().format();
break;
case 'lastYear':
BeginTime = moment().year(moment().year() - 1).startOf('year').format();
EndTime = moment().year(moment().year() - 1).endOf('year').format();
utcBeginTime = moment().year(moment().year() - 1).startOf('year').utc().format();
utcEndTime = moment().year(moment().year() - 1).endOf('year').utc().format();
break;
case 'custom':
BeginTime = moment(period).startOf('year').format();
EndTime = moment(period).endOf('year').format();
utcBeginTime = moment(period).startOf('year').utc().format();
utcEndTime = moment(period).endOf('year').utc().format();
break;
default:
return;
}
break;
case 'custom':
BeginTime = moment(period[0]).startOf('day').format();
EndTime = moment(period[1]).endOf('day').format();
utcBeginTime = moment(period[0]).startOf('day').utc().format();
utcEndTime = moment(period[1]).endOf('day').utc().format();
gapTime=GetNumberOfDays(BeginTime,EndTime);
break;
default:
return;
}
return {
BeginTime,
EndTime,
utcBeginTime,
utcEndTime,
gapTime
};
}
export {
transformTime
};
时区转换
computeTime(time) {
let now = new Date();
let offset = now.getTimezoneOffset() * 60000;
let d = isoTimeToUtcTime(time);
let wishTime = d + (-offset);
let BeginTime = '';
let EndTime = '';
BeginTime = wishTime - this.configForm.BeforeTime * 1000;
EndTime = wishTime + this.configForm.AfterTime * 1000;
return {BeginTime, EndTime};
}
12小时制和24小时制
