我在java中使用其他格式转换日期时遇到了问题(我使用JodaTime)。 事实上,我的格式化本地日期是:
24/apr/14 (Italian format date...but other local formats are possible)
我想分开日,月和年,并在输出中看到:
gg: 24
MM: 04
yyyy: 2014
如何检索此数据?
谢谢!
答案 0 :(得分:1)
纠正你的假设" 24 / apr / 14"作为意大利人(JodaTime和JDK都说:d-MMM-yyyy)我发现了这种方式:
String input = "24-apr-2014";
Locale locale = Locale.ITALY;
DateTimeFormatter dtf = DateTimeFormat.mediumDate().withLocale(locale);
LocalDate date = dtf.parseLocalDate(input);
int dayOfMonth = date.getDayOfMonth();
int month = date.getMonthOfYear();
int year = date.getYear();
DecimalFormat df = new DecimalFormat("00");
String dayOfMonthAsText = df.format(dayOfMonth);
String monthAsText = df.format(month);
String yearAsText = new DecimalFormat("0000").format(year);
System.out.println(dayOfMonthAsText); // 24
System.out.println(monthAsText); // 04
System.out.println(yearAsText); // 2014
顺便说一下,为什么要提取文本组件(导致大量额外的格式化工作 - 请参阅我的代码),而不仅仅是解析的整数值?或者我误解了你?