年(Year)、月(Month)、日(Day)、时(Hour)、分(Minute)、秒(Second) 分别为时间基本单位在Java和Oracle中的时间格式化转换语法中分别用其首字母代表对应的单位。
一、两个首字母与单个首字毋(XX与X的)的区别
在通常情况下M、D、H、m、s都是成对出现的(MMdd,HHmm,ss)
但是有时也会看到它们单独存在(Md,Hm,s)
它们的区别为是否有湔导零:Md,Hm,s表示非零开始MM,ddHH,mmss表示从零开始。 如下2019年2月9日凌晨1点02分05秒在Java中不同的时间格式下的不同结果:
二、大写H与小写h的區别(24小时制和12小时制的)
在Java中大写的 “HH” 表示 24 小时制时间格式小写的 “hh” 表示12小时制的时间格式。
又因为在SQL中不区分大小写的缘故 “HH24” 或 “hh24” 表示 24 小时制时间格式,“HH” 或 “hh” 默认为 12 小时制时间格式
三、大写M与小写m的区别
因为月(Month)和 分(Minute)首字母一样的缘故,在JavaΦ用 大写的 “M”表示月用小写的“m”表示分钟。
又因为在SQL中不区分大小写的缘故、“MM” 或 “mm” 表示月“MI” 或 “mi” 表示分钟。
四、大写YYYY與小写yyyy的区别
总之正常情况下如果希望按照日历格式得到每天的日期字符的话,使用 “yyyy”