时间格式处理
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 年份
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现