对于我的Android应用,我使用Joda Time打印本地化日期,如下所示:
String date = DateTimeFormat.shortDate().print(new LocalDate());
但这给了我两位数的年份。
那么,无论当前用户的区域设置如何,我该如何将年份显示为四位数?
并且,如果它们是<日前或月份,我怎么能追加0? 10,再次,无论当前用户Locale
?
答案 0 :(得分:0)
您可以使用下面的代码段,它会以您的格式提供日期:
DateTimeFormat.forPattern("MM/dd/yyyy").print(new LocalDate())
答案 1 :(得分:0)
这里已经存在的东西:Joda Time有一个方法DateTimeFormat.patternForStyle
,它委托java.text.DateFormat
中JDK指定的模式。请参阅Using Predefined Formats,其中提供了下表:
Style U.S. Locale French Locale
DEFAULT Jun 30, 2009 30 juin 2009
SHORT 6/30/09 30/06/09
MEDIUM Jun 30, 2009 30 juin 2009
LONG June 30, 2009 30 juin 2009
FULL Tuesday, June 30, 2009 mardi 30 juin 2009
您可以使用Locale
,patternForStyle
,S
,M
和{{1}来指定您在L
中的F
特定格式把它留空。因此,在您的情况下,听起来您只想要约会,所以请使用:
-
所以,要么完成所有这些,要么**为此目的创建自己的DateTimeFormatters地图。类似的东西:
DateTimeFormat.patternForStyle("S-", locale);