JS比较时间大小
var time = '2020-12-14 15:19:00'
var retry_time = new Date(Date.parse(time.replace(/-/g,"/")));
var curdate = new Date();
if (parseInt(curdate - retry_time)/1000/60 < 10){
console.log('小于10分钟')
}else {
console.log('大于10分钟')
}
python比较时间大小
import datetime
retry_time = datetime.datetime.strptime('2020-12-14 15:19:00', '%Y-%m-%d %H:%M:%S')
now_time = datetime.datetime.now()
mins = int((now_time - retry_time).total_seconds() / 60)
if mins < 10:
print('小于10分钟')
else:
print('大于10分钟')
展示时间与保存时间
展示到前端:
curvaluedate = curvaluedate.strftime('%Y-%m-%d %H:%M:%S') if curvaluedate else "" strftime:把时间元组转化为时间字符串,展示到前端
保存到数据库:
curvaluedate = datetime.datetime.strptime(curvaluedate,"%Y-%m-%d %H:%M:%S") strptime:把时间字符串转化为时间元组,保存到数据库
格式化时间
SQL Server:
日: CONVERT(varchar(100),datadate,23) ='2020-01-01'
本月:CONVERT(varchar(100),datadate,23) = dateadd(day, -1, dateadd(month, 1, CAST('2020-01-01' AS DATE)))
上月:CONVERT(varchar(100),datadate,23) = dateadd(day,-1,CAST('2020-01-01' AS DATE))
季: CONVERT(varchar(100),datadate,23) = dateadd(day, -1, dateadd(month, 1, CAST('2020-1*3-01' AS DATE)))
半年:CONVERT(varchar(100),datadate,23) = dateadd(day, -1, dateadd(month, 1, CAST('2020-1*6-01' AS DATE)))
年: DATEPART(year, datadate) = '2020' and DATEPART(day, datadate) = DATEPART(DAY,CONVERT(varchar(100),DATEADD(ms,-3,DATEADD(MONTH,DATEDIFF(MONTH,0,datadate)+1,0)),23))
Oracle:
日:to_char(RQ,'yyyy-MM-dd') ='2020-01-01'
月:to_char(RQ,'yyyy') ='2020' and to_char(RQ,'mm') ='01'
季:to_char(RQ,'yyyy') ='2020' and to_number(to_char(RQ,'MM')) = to_number('1')*3 and to_char(RQ+1,'dd') = '01'
半年:to_char(RQ,'yyyy') ='2020' and to_number(to_char(RQ,'MM')) = to_number('1')*6 and to_char(RQ+1,'dd') = '01'
年:to_char(RQ,'yyyy') ='2020' and to_char(RQ+1,'dd') = '01'
时间加减
import datetime
one_month_ago = (datetime.datetime.now() - datetime.timedelta(days=30)).strftime("%Y-%m-%d") # 一个月之前
one_month_later = (datetime.datetime.now() + datetime.timedelta(days=30)).strftime("%Y-%m-%d") # 一个月之后
print(one_month_ago, one_month_later)
当前年份前后20年:
oracle:
select distinct(to_char(dt,'yyyy'))rq from (
select ADD_MONTHS(to_date(to_char(add_months(sysdate,-240), 'yyyy-mm'), 'yyyy-mm'),rownum-1) dt from dual
connect by rownum<=months_between(to_date(to_char(add_months(sysdate,240), 'yyyy-mm'), 'yyyy-mm'),to_date(to_char(add_months(sysdate,-240), 'yyyy-mm'), 'yyyy-mm'))+1)
order by rq
sql server:
select distinct(YEAR(convert(char(10), DATEADD(yy,number,DATEADD(yy,-20,getdate())),120))) 年份 from master..spt_values
where type = 'p' and DATEDIFF(MI,DATEADD(yy,number,DATEADD(yy,-20,getdate())),DATEADD(yy,20,getdate()))+1 > 0 order by 年份