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 年中的第几个星期
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 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正式版破解