<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<tr>
<td class="td_s" bgcolor="#c0f0fb">
<select name="stdDateFilter" οnchange='showDate(this.options[this.selectedIndex].value )'>
<option value="custom">
自定义
</option>
<option value="prevfy">
上年
</option>
<option value="thisfy">
本年
</option>
<option value="nextfy">
下年
</option>
<option value="prevfq">
上季度
</option>
<option value="thisfq">
本季度
</option>
<option value="nextfq">
下季度
</option>
<option value="yesterday">
昨天
</option>
<option value="today">
今天
</option>
<option value="tomorrow">
明天
</option>
<option value="lastweek">
上星期
</option>
<option value="thisweek">
本星期
</option>
<option value="nextweek">
下星期
</option>
<option value="lastmonth">
上月
</option>
<option selected value="thismonth">
本月
</option>
<option value="nextmonth">
下月
</option>
</select>
</td>
<td class="td_s" colspan="12" bgcolor="#c0f0fb">
开始日期:
<input type="text" id="startTime" name="startTime" />
结束日期:
<input type="text" id="endTime" name="endTime" />
<input type="submit" value="查询" />
</td>
</tr>
<script type="text/javascript">
function showDate(type) {
if (type != "custom") {
document.getElementById("startTime").readOnly = true;
document.getElementById("endTime").readOnly = true;
} else {
document.getElementById("startTime").readOnly = false;
document.getElementById("endTime").readOnly = false;
}
if (type == "today") // 当前日期
{
document.getElementById("startTime").value = getDate(0);
document.getElementById("endTime").value = getDate(0);
} else if (type == "yesterday") // 昨天
{
document.getElementById("startTime").value = getDate( - 1);
document.getElementById("endTime").value = getDate( - 1);
} else if (type == "tomorrow") // 明天
{
document.getElementById("startTime").value = getDate(1);
document.getElementById("endTime").value = getDate(1);
} else if (type == "lastweek") // 本周
{
document.getElementById("startTime").value = getMonday();
document.getElementById("endTime").value = getMonday(7);
} else if (type == "thisweek") // 上周
{
document.getElementById("startTime").value = getMonday( - 7);
document.getElementById("endTime").value = getMonday( - 1);
} else if (type == "nextweek") // 下周
{
document.getElementById("startTime").value = getMonday( 7);
document.getElementById("endTime").value = getMonday( 13);
} else if (type == "thismonth") // 本月
{
document.getElementById("startTime").value = getMonth("s", 0);
document.getElementById("endTime").value = getMonth("e", 0);
} else if (type == "lastmonth") // 上个月
{
document.getElementById("startTime").value = getMonth("s", -1);
document.getElementById("endTime").value = getMonth("e", -1);
} else if (type == "nextmonth") // 下个月
{
document.getElementById("startTime").value = getMonth("s", 1);
document.getElementById("endTime").value = getMonth("e", 1);
} else if (type == "thisfy") // 本年
{
document.getElementById("startTime").value = getYears("s", 0);
document.getElementById("endTime").value = getYears("e", 0);
} else if (type == "prevfy") // 去年
{
document.getElementById("startTime").value = getYears("s", -1);
document.getElementById("endTime").value = getYears("e", -1);
} else if (type == "nextfy") // 明年
{
document.getElementById("startTime").value = getYears("s", 1);
document.getElementById("endTime").value = getYears("e", 1);
} else if (type == "nextfq") // 下季度
{
document.getElementById("startTime").value = getQF("s", 3);
document.getElementById("endTime").value = getQF("E", 3);
} else if (type == "prevfq") // 上季度
{
document.getElementById("startTime").value = getQF("s", -3);
document.getElementById("endTime").value = getQF("E", -3);
} else if (type == "thisfq") // 本季度
{
document.getElementById("startTime").value = getQF("s", 0);
document.getElementById("endTime").value = getQF("e", 0);
} else {
document.getElementById("startTime").value = "";
document.getElementById("endTime").value = "";
}
}
// js代码:
function getDate(dates) {
var dd = new Date();
dd.setDate(dd.getDate() + dates);
var y = dd.getFullYear();
var m = dd.getMonth() + 1;
var d = dd.getDate();
return y + "-" + m + "-" + d;
}
function getMonday(monday) {
var data=monday?monday:'';
var myDate = new Date(); //获取今天日期
myDate.setDate(myDate.getDate() - 7+data);
var dateTemp;
dateTemp =myDate.getFullYear()+"-"+(myDate.getMonth()+1)+"-"+myDate.getDate();
return dateTemp;
}
function getMonth(type, months) {
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
if (months != 0) {
// 如果本月为12月,年份加1,月份为1,否则月份加1。
if (month == 12 && months > 0) {
year++;
month = 1;
} else if (month == 1 && months < 0) {
year--;
month = 12;
} else {
month = month + months;
}
}
var date = d.getDate();
var firstday = year + "-" + month + "-" + 1;
var lastday = "";
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
lastday = year + "-" + month + "-" + 31;
} else if (month == 2) {
// 判断是否为闰年(能被4整除且不能被100整除 或 能被100整除且能被400整除)
if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {
lastday = year + "-" + month + "-" + 29;
} else {
lastday = year + "-" + month + "-" + 28;
}
} else {
lastday = year + "-" + month + "-" + 30;
}
var day = "";
if (type == "s") {
day = firstday;
} else {
day = lastday;
}
return day;
}
function getQFMonth(month) {
var quarterMonthStart = 0;
var spring = 1; //春
var summer = 4; //夏
var fall = 7; //秋
var winter = 10; //冬
if (month < 3) {
return spring;
}
if (month < 6) {
return summer;
}
if (month < 9) {
return fall;
}
return winter;
};
function getQF(type, months) {
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
var qfmonth = getQFMonth(month);
if (months != 0) {
if (qfmonth == 10 && months > 0) {
year++;
qfmonth = 1;
} else if (qfmonth == 1 && months < 0) {
year--;
qfmonth = 10;
} else {
qfmonth = qfmonth + months;
}
}
var fd = year + "-" + qfmonth + "-" + 1;
var ed = "";
if (qfmonth == 1 || qfmonth == 10) {
ed = year + "-" + (qfmonth + 2) + "-" + 31;
} else {
ed = year + "-" + (qfmonth + 2) + "-" + 30;
}
var qf = "";
if (type == "s") {
qf = fd;
} else {
qf = ed;
}
return qf;
}
function getYears(type, years) {
var d = new Date();
var year = d.getFullYear();
var fd = (year + years) + "-" + 01 + "-" + 01;
var ed = (year + years) + "-" + 12 + "-" + 31;
var yr = "";
if (type == "s") {
yr = fd;
} else {
yr = ed;
}
return yr;
}
</script>
</body>
</html>
文章来自:https://blog.csdn.net/qq_29849641/article/details/65631827