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(小时023) 24) k(时钟小时1m(分钟) 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月,其他都为纯数字HKkms等小时分钟,一个为0,超过加0Z表示时区, 个数多少也有不同, 可参见官方文档