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

之前没有注意过关于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         年中的第几个星期

 

转自:http://hi.baidu.com/ganky/blog/item/d9b7681f9903d06ef724e46e.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值