日期时间总结

16 篇文章 0 订阅
5 篇文章 0 订阅

今天总结一下日期时间如何处理,方便以后查看。

  • 1 Oracle

  • 1.1 日期格式参数及其含义说明

Oracle不区分大小写,所以下面参数大小写都可以

D              一周中的星期几     
DAY        天的名字,使用空格填充到9个字符     
DD          月中的第几天     
DDD       年中的第几天     
DY          天的简写名     
IW           ISO标准的年中的第几周     
IYYY      ISO标准的四位年份     
YYYY    四位年份     
YYY,YY,Y       年份的最后三位,两位,一位     
HH         小时,按12小时计     
HH24    小时,按24小时计     
MI         分     
SS         秒     
MM      月     
Mon     月份的简写     
Month  月份的全名     
W        该月的第几个星期
WW    年中的第几个星期

注意:表示12小时制(HH)时,时间范围为1-12,对应的时间参考挂钟时针的指向。24小时制时,时间范围是0-23

  • 1.2 日期加减操作

sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 
sysdate+5/24/60 在系统时间基础上延迟5分钟 
sysdate+5/24 在系统时间基础上延迟5小时 
sysdate+5 在系统时间基础上延迟5天 
add_months(sysdate,-5) 在系统时间基础上延迟5月 
add_months(sysdate,-5*12) 在系统时间基础上延迟5年 

当前时间减去7分钟的时间   
select sysdate,sysdate - interval '7' MINUTE FROM dual;  
当前时间减去7小时的时间   
select sysdate,sysdate - interval '7' HOUR FROM dual;   
当前时间减去7天的时间   
select sysdate,sysdate - interval '7' DAY FROM dual;   
当前时间减去7月的时间   
select sysdate,sysdate - interval '7' MONTH FROM dual;   
当前时间减去7年的时间   
select sysdate,sysdate - interval '7' YEAR FROM dual;   
时间间隔乘以一个数字   
select sysdate,sysdate - 8*interval '2' HOUR FROM dual;   

date类型做减法,单位是天,分别使用*24、*24*60、*24*60*60转换成时、分、秒

  • 1.3 日期和字符串互转

to_char将日期转换成字符串

select   sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')   from   dual

to_date将字符串转成日期

select   to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss')   from   dual   

  • 1.4 查看当前数据库时间

select sysdate from dual;

  • 1.5 trunc函数处理日期

trunc(sysdate,'yyyy') --返回当年第一天.
trunc(sysdate,'mm') --返回当月第一天.
trunc(sysdate,'d') --返回当前星期的第一天.
select trunc(sysdate,'YYYY')from dual;
select trunc(sysdate,'MM')from dual;
select trunc(sysdate,'D')from dual;
  • 2 JAVA

  • 2.1 日期和时间模式字符串

这些A—Z,a—z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。

日期和时间模式(注意大小写,代表的含义是不同的)

yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(1-24)。
K:和hh差不多,表示一天12小时制(0-11)。

  • 2.2 JAVA API

菜鸟教程

  • 3 JavaScript API

菜鸟教程

4 mysql

4.1 日期格式

说明符描述
%a缩写的工作日名称 ( Sun.. Sat)
%b缩写的月份名称 ( Jan.. Dec)
%c月份,数字 ( 0.. 12)
%D带有英文后缀 ( 0th1st2nd3rd, ...)的月份中的第几天
%d月份中的第几天,数字 ( 00.. 31)
%e月份中的第几天,数字 ( 0.. 31)
%f微秒 ( 000000.. 999999)
%H小时 ( 00.. 23)
%h小时 ( 01.. 12)
%I小时 ( 01.. 12)
%i分钟,数字 ( 00.. 59)
%j一年中的某一天 ( 001.. 366)
%k小时 ( 0.. 23)
%l小时 ( 1.. 12)
%M月份名称 ( January.. December)
%m月份,数字 ( 00.. 12)
%pAM 或者 PM
%r时间,12 小时制(hh:mm:ss后跟 AMPM
%S秒 ( 00.. 59)
%s秒 ( 00.. 59)
%T时间,24 小时制 ( hh:mm:ss)
%U周 ( 00.. 53),其中星期日是一周的第一天; WEEK()模式 0
%u周 ( 00.. 53),其中星期一是一周的第一天; WEEK()模式一
%V周 ( 01.. 53),其中星期日是一周的第一天; WEEK()模式2;与 %X
%v周 ( 01.. 53),其中星期一是一周的第一天; WEEK()模式3;与 %x
%W工作日名称 ( Sunday.. Saturday)
%w星期几(0=星期日.. 6=星期六)
%X周的年份,其中星期日是一周的第一天,数字,四位数字;与%V
%x一周的年份,其中星期一是一周的第一天,数字,四位数字;与%v
%Y年份,数字,四位数字
%y年份,数字(两位数)
%%一个文字%字符
%xx, 对于上面未列出的任何 “ x

4.2 日期函数 

名称描述
CURDATE()返回当前日期
CURRENT_DATE(), CURRENT_DATECURDATE() 的同义词
CURRENT_TIME(), CURRENT_TIMECURTIME() 的同义词
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMPNOW() 的同义词
CURTIME()返回当前时间
DATE()提取日期或日期时间表达式的日期部分
DATE_ADD()将时间值(间隔)添加到日期值
DATE_FORMAT()指定日期格式
STR_TO_DATE()将字符串转换为日期

更多函数参考MySQL :: MySQL 5.7 Reference Manual :: 12.7 Date and Time Functions 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值