在第一篇文章的基础上,只需要在js代码上对获取的时减1(注意每年的第一天0点,闰年的3月1日0点,每个月的1号0点即可)

js代码如下:

var date = new Date();
var year = date.getFullYear();    //获取年
var month = date.getMonth() + 1;  //获取月,返回值为0-11,故+1代表本月
var day = date.getDate();          //获取日,返回值1-31
var hour = date.getHours();      //获取时,返回值0-23
var minute = date.getMinutes();   //获取分,返回值0-59
var second = date.getSeconds();       //获取秒,返回值0-59
if(month < 10){
    month = "0" + month;
}
if(day < 10){
    day = "0" + day;
}
var tablename = "cmxxb_" + year.toString() + '_' + month.toString() + '_' + day.toString() //获取表名
month= date.getMonth() + 1; //由于上面两个if可能将月和日修改为String类型,不可进行加减,故重新获取月和日
day = date.getDate();
var flag = false;      //判断是否为闰年的标签
if((year%4==0&&year%100!=0) || year%400==0){
    flag = true;
}
if(flag==true&&month==3&&day==1&&hour==0){ //处理闰年的3月1日
    month = 2;
    day = 29;
    hour = hour + 23;
}else if(flag==false&&month==3&&day==1&&hour==0){ //处理非闰年的3月1日
    month = 2;
    day = 28;
    hour = hour + 1;
}else if(month==1&&day==1&&hour==0){ //处理每年的1月1日
    year = year - 1;
    month = 12;
    day = 31;
    hour = hour + 23;
}else if((month==2||month==4||month==6||month==8||month==9||month==11)&&day==1&&hour==0){ //处理前一天为31号
    month = month - 1;
    day = 31;
    hour = hour + 23;
}else if((month==5||month==7||month==10||month==12)&&day==1&&hour==0){ //处理前一天为30号
    month = month - 1;
    day = 30;
    hour = hour + 23;
}else{
    hour = hour - 1;
}
//由于月、日、时、分、秒的返回值的0-9都为单个数字,因此需要添加字符串‘0’
if(month < 10){
    month = '0' + month;
}
if(day < 10){
    day = '0' + day;
}
if(hour < 10){
    hour = '0' + hour;
}
if(minute < 10){
    minute = '0' + minute;
}
if(second < 10){
    second = '0' + second;
}
//时间格式:2021-05-01 02:05:04
var nowTime = year.toString() + '-' + month.toString() + '-' + day.toString() + ' ' + hour.toString() + ':' + minute.toString() + ':' + second.toString();
 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐