我正在尝试使用以下代码,但我收到错误格式无效:“12/11/2013”:
String dFrom = ps.utils.gv(request, "dFrom");
String dTo = ps.utils.gv(request, "dTo");
DateTime dateFrom = new DateTime(dFrom);
DateTime dateTo = new DateTime(dTo);
int weeks = Weeks.weeksBetween(dateFrom, dateTo).getWeeks();
有人可以提供一个示例,说明如何格式化日期变量dFrom,这通常是英国格式的日期,例如12/11/2013到ISO日期,例如2013-11-12,我相信Joda支持。
非常感谢任何帮助: - )
答案 0 :(得分:2)
如果您想将格式12/11/2013
转换为2013-11-12
,则可以使用
DateTimeFormatter dtf = DateTimeFormat.forPatter("dd/MM/yyyy"); // or MM/dd/yyyy ?
String isoDate = ISODateTimeFormat.date().print(dtf.parseDateTime("12/11/2013"));
对于ISO格式2013-11-12
,您可以使用标准日期格式化程序:
ISODateTimeFormat::date()
DateTime date = ISODateTimeFormat.date().parseDateTime("2013-11-12");
String dateAsString = ISODateTimeFormat.date().print(date);
对于格式12/11/2013
,您应该创建自己的格式化程序
DateTimeFormatter dtf = DateTimeFormat.forPatter("dd/MM/yyyy"); // or MM/dd/yyyy ?
DateTime date = dtf.parseDateTime("12/11/2013");
String dateAsString = dtf.print(date);