use*_*165 4 java date date-format jodatime
是否可以格式化JodaTime日期.
这是代码:
private static LocalDate priorDay(LocalDate date1) {
do {
date1 = date1.plusDays(-1);
} while (date1.getDayOfWeek() == DateTimeConstants.SUNDAY ||
date1.getDayOfWeek() == DateTimeConstants.SATURDAY);
//System.out.print(date1);
return date1;
}
Run Code Online (Sandbox Code Playgroud)
这里date1返回为:2013-07-02但我想作为02-JUL-13
提前致谢
Jon*_*eet 13
是否可以格式化JodaTime日期
是.你想要的DateTimeFormatter.
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd-MMM-yy")
.withLocale(Locale.US); // Make sure we use English month names
String text = formatter.format(date1);
Run Code Online (Sandbox Code Playgroud)
这将给02年7月13日,但你总是可以大写它.
有关详细信息,请参阅用户指南的输入和输出部分.
编辑:或者,根据Rohit的建议:
String text = date1.toString("dd-MMM-yy", Locale.US);
Run Code Online (Sandbox Code Playgroud)
就个人而言,我更喜欢将格式化程序创建为常量,并在需要的任何地方重复使用,但这取决于您.
查看Joda DateTimeFormatter.
您可能希望通过以下方式使用它:
DateTime dt = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MMM-yy");
String str = fmt.print(dt);
Run Code Online (Sandbox Code Playgroud)
这是比现有的SimpleDateFormat类更好的解决方案.Joda变体是线程安全的.旧的Java变体(违反直觉)不是线程安全的!