本文介绍如何在 JavaScript 中实现首页加载时自动设置默认的时间跨度。通过获取当前日期并向前推算一个月,生成开始和结束时间字符串,传递给后台接口以展示最近一个月的历史记录。
实现首页默认近一个月数据展示
项目需求要求在进入首页时,自动展示最近一个月内的历史记录。为此,前端需要向后台传递特定的时间参数:结束时间设定为当前日期,而开始时间则设定为当前日期往前推一个月的时间点。
例如,现在是2018/04/17,则结束时间为2018/04/17,开始时间为2018/03/17.
确定好开始时间和结束时间后,即可将其作为参数传递给后台接口。具体的 JavaScript 实现代码如下:
var end;
var start;
$(function(){
var myDate = new Date();
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
//月
var s;
if(myDate.getMonth()<9){
s="0"+(myDate.getMonth()+1);
}
if(myDate.getMonth() >=9){
s=(myDate.getMonth() + 1);
}
var ss;
if(myDate.getMonth()<10){
ss="0"+(myDate.getMonth());
}
if(myDate.getMonth()>=10){
ss=(myDate.getMonth());
}
//日
var c;
if(myDate.getDate()<10){
c="0"+myDate.getDate();
}else if(myDate.getDate()>=10){
c=myDate.getDate();
}
end=myDate.getFullYear()+"-"+s+"-"+c;
$("#endTime").val(end);
if(s=="01"){
ss="12";
start=(myDate.getFullYear()-1)+"-"+ss+"-"+c;
}else{
if(c>28){
if(ss=="02"){
if((myDate.getFullYear()%4==0 && myDate.getFullYear()%100!=0)||(myDate.getFullYear()%100==0 && myDate.getFullYear()%400==0)){
c=29;
}else{
c=28;
}
}
if(ss=="04"||ss=="06"||ss=="09"||ss=="11"){
c=30;
}
}
start=myDate.getFullYear()+"-"+ss+"-"+c;
}
$("#startTime").val(start);
getData();
});
以上即为利用 JavaScript 设置默认时间跨度并传递给后台的完整过程,希望本文内容能对大家的学习和工作有所帮助。