之前没有注意过关于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 年中的第几个星期
来源:https://www.cnblogs.com/jijm123/p/15986660.html
本站部分图文来源于网络,如有侵权请联系删除。