<!DOCTYPE html>
<html>
<head>
<title>测试时间控件</title>
<meta charset="utf-8">
</head>
<body>
<textarea id="time-test" style="margin: 0px; width: 770px; height: 150px;"></textarea>
<script type="text/javascript" src="https://libs.cdnjs.net/jquery/1.10.0/jquery.min.js"></script>
<script type="text/javascript" src="http://cdn.staticfile.org/moment.js/2.24.0/moment-with-locales.js"></script>
<script type="text/javascript">
var timeTestResult = '';
var today = getTimeSpan("today", "YYYY.MM.DD HH:mm:ss");
timeTestResult += 'getTimeSpan("today", "YYYY.MM.DD HH:mm:ss") ==>start='+today[0]+' end='+today[1]+'\n';
var week = getTimeSpan("week", "YYYY.MM.DD HH:mm:ss");
timeTestResult += 'getTimeSpan("week", "YYYY.MM.DD HH:mm:ss") ==>start='+week[0]+' end='+week[1]+'\n';
var month = getTimeSpan("month", "YYYY.MM.DD HH:mm:ss");
timeTestResult += 'getTimeSpan("month", "YYYY.MM.DD HH:mm:ss") ==>start='+month[0]+' end='+month[1]+'\n';
var year = getTimeSpan("year", "YYYY.MM.DD HH:mm:ss");
timeTestResult += 'getTimeSpan("year", "YYYY.MM.DD HH:mm:ss") ==>start='+year[0]+' end='+year[1]+'\n';
var season = getTimeSpan("season", "YYYY.MM.DD HH:mm:ss");
timeTestResult += 'getTimeSpan("season", "YYYY.MM.DD HH:mm:ss") ==>start='+season[0]+' end='+season[1]+'\n';
var d10 = getTimeSpan("10d", "YYYY.MM.DD HH:mm:ss");
timeTestResult += 'getTimeSpan("10d", "YYYY.MM.DD HH:mm:ss") ==>start='+d10[0]+' end='+d10[1]+'\n';
var m5 = getTimeSpan("5m", "YYYY.MM.DD HH:mm:ss");
timeTestResult += 'getTimeSpan("5m", "YYYY.MM.DD HH:mm:ss") ==>start='+m5[0]+' end='+m5[1]+'\n';
var y3 = getTimeSpan("3y", "YYYY.MM.DD HH:mm:ss");
timeTestResult += 'getTimeSpan("3y", "YYYY.MM.DD HH:mm:ss") ==>start='+y3[0]+' end='+y3[1]+'\n';
$('#time-test').val(timeTestResult);
function getTimeSpan(timeType, format){
if(format == null || format == ""){
format = 'YYYY.MM.DD HH:mm:ss';
}
var timeSpan = [];
if("today" == timeType){//当天
timeSpan[0] = moment(new Date()).startOf('day').format(format);
timeSpan[1] = moment(new Date()).format(format);
// timeSpan[1] = moment(new Date()).endOf('day').format(format);
}else if("week" == timeType){//本周
timeSpan[0] = moment(new Date()).startOf('isoweek').format(format);
timeSpan[1] = moment(new Date()).format(format);
}else if("month" == timeType){//本月
timeSpan[0] = moment(new Date()).startOf('month').format(format);
timeSpan[1] = moment(new Date()).format(format);
}else if("year" == timeType){//本年
timeSpan[0] = moment(new Date()).startOf('year').format(format);
timeSpan[1] = moment(new Date()).format(format);
}else if("season" == timeType){//本季
timeSpan[0] = moment(new Date()).startOf('quarter').format(format);
timeSpan[1] = moment(new Date()).format(format);
}else{//近N天、近N月、近N年
var regex = /(\d+)([ymdYMD])/g;
var found = regex.exec(timeType);
var num = found[1];
var unit = found[2];
if("y" == unit || "Y" == unit){
timeSpan[1] = moment(new Date()).format(format);
timeSpan[0] = moment(new Date()).add(1-num, "years").startOf('day').format(format);
}else if("m" == unit || "M" == unit){
timeSpan[1] = moment(new Date()).format(format);
timeSpan[0] = moment(new Date()).add(1-num, "months").startOf('day').format(format);
}else if("d" == unit || "D" == unit){
timeSpan[1] = moment(new Date()).format(format);
timeSpan[0] = moment(new Date()).add(1-num, "days").startOf('day').format(format);
}
}
return timeSpan;
}
</script>
</body>
</html>
运行结果
getTimeSpan("today", "YYYY.MM.DD HH:mm:ss") ==>start=2021.01.14 00:00:00 end=2021.01.14 17:49:09
getTimeSpan("week", "YYYY.MM.DD HH:mm:ss") ==>start=2021.01.11 00:00:00 end=2021.01.14 17:49:09
getTimeSpan("month", "YYYY.MM.DD HH:mm:ss") ==>start=2021.01.01 00:00:00 end=2021.01.14 17:49:09
getTimeSpan("year", "YYYY.MM.DD HH:mm:ss") ==>start=2021.01.01 00:00:00 end=2021.01.14 17:49:09
getTimeSpan("season", "YYYY.MM.DD HH:mm:ss") ==>start=2021.01.01 00:00:00 end=2021.01.14 17:49:09
getTimeSpan("10d", "YYYY.MM.DD HH:mm:ss") ==>start=2021.01.05 00:00:00 end=2021.01.14 17:49:09
getTimeSpan("5m", "YYYY.MM.DD HH:mm:ss") ==>start=2020.09.14 00:00:00 end=2021.01.14 17:49:09
getTimeSpan("3y", "YYYY.MM.DD HH:mm:ss") ==>start=2019.01.14 00:00:00 end=2021.01.14 17:49:09