yyyy-mm-dd 在java和oracle中的区别。

大标 2022年3月9日18:45:10
评论
16
摘要

之前没有注意过关于yyyy-mm-dd的写法,在最近的一次项目中才发现问题。一下做了详细的分析。通常java的工具Date类使用SimpleDateFormat进行日期转字符串的格式化输出。如:// 定义日期格式SimpleDateFormat dateformat =new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss:S”);//格式化一个系统日期String s

之前没有注意过关于yyyy-mm-dd的写法,在最近的一次项目中才发现问题。一下做了详细的分析。

通常java的工具Date类使用SimpleDateFormat进行日期转字符串的格式化输出。如:
// 定义日期格式
SimpleDateFormat dateformat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:S");
//格式化一个系统日期
String starttime = dateformat.format(new Date(System.currentTimeMillis())).toString();

上面为标准格式
如果单纯要获得当天的年月日,可以写为
String today = new SimpleDateForma("yyyy-MM-dd").format(new Date());

值得注意的是,java定义的日期格式是区分大小写的!
MM表示月份,mm则表示分钟

下面是格式的详解
G Era 标志符 Text AD
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800

再说说Oracle的Date类型
通常进行格式化有两种
Date转Varchar的 to_char(日期列名,'yyyy-mm-dd')
Varchar转Date的 to_date(日期字符串,'yyyy-mm-dd')

跟java的SimpleDateFormat相比
最明显的区别是它的格式化是不区分大小写的!所以格式表达会有所差异
由于MM和mm均是表示月份,分钟则用mi或MI来表示

下面是格式的详解
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 年中的第几个星期

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
大标
  • 本文由 发表于 2022年3月9日18:45:10
  • 转载请务必保留本文链接:https://www.tanhuibiao.com/script/oracle/1365.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: