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 年中的第几个星期

posted on   癫狂编程  阅读(337)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2019-03-09 在做销售录入界面时,如何使用dbgrid?(50分)
2019-03-09 下载 Internet Explorer 11(脱机安装程序)
2017-03-09 Delphi 2010 3513正式版破解

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
好的代码像粥一样,都是用时间熬出来的
点击右上角即可分享
微信分享提示