使用Kettle对数据库抽取一小时之前的数据并重复执行
在第一篇文章的基础上,只需要在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.getDat
在第一篇文章的基础上,只需要在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();
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)