Joda Time 中英格式化相关问题 for Java
Joda Time
Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。
Install
Joda已经更新到2.6版本,jar包的下载可以到Joda Jar进行下载.
如果使用gradle管理,可添加
1 | dependencies { |
使用
大致有两种方式可以对ISO8601时间进行格式化
1 | DateTime dateTime = new DateTime();//也可以传入ISO8601格式时间作为参数 |
1 | LocalDate date = LocalDate.now(); |
中英文格式区别
通过官方文档可知, 常用的Symbol
有E
(星期) y
(年) d
(日) M
(月) H
(小时0~23) k
(时钟小时1~24) m
(分钟) s
(秒) K
(小时0~11) a
(am/pm)
E 中文永远都是
星期X
英文E
代表简写,如Mon
, 而EEEE
代表Monday
, 调皮的话可以发现EE
跟EEE
都是简写,而再多的E
都是全写y 可能由于目前的时间都是公元四位数年(2014), 所以超过四个
y
都会在当前年份前加0
,如yyyyy
->02014
, 英文其他个数都是全写, 中文如两个y
,则为简写,如2014就成了14d 所有超过两个的使用都会在应有的数字前面加0, 而且中文也不会加上
日
字M 英文
M
跟MM
为数字月份,如03
,MMM
则为简写Mar
, 而MMMM
或者更多(调皮)为March
. 中文三个或以上为X月
,其他都为纯数字H
K
k
m
s
等小时分钟,一个为0,超过加0Z
表示时区, 个数多少也有不同, 可参见官方文档