有没有办法将Joda DateTime转换为String,然后从该String转换为DateTime。
DateTime d = ..;
String date = d.toString();
DateTime dateTime = DateTime.parse(date);
我的问题是上述方法是否有效或需要使用格式化程序。
答案 0 :(得分:16)
试试这个
DateTime dt = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
String dtStr = fmt.print(dt);
答案 1 :(得分:2)
对于那些想要解析 toString
值的人,可以阅读我的答案。
如果您仔细阅读DateTime
的实施内容。 toString
方法被AbstractInstant
覆盖。
@ToString
public String toString() {
return ISODateTimeFormat.dateTime().print(this);
}
现在,解析toString
:
DateTime dt = new DateTime();
String dtStr = dt.toString();
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
DateTime newDt = fmt.parse(dtStr);
答案 2 :(得分:0)
LocalDate localDate = new LocalDate(2010, 9, 14);
DateTimeFormatter formatter = DateTimeFormat.forPattern("MM/dd/yyyy");
String formattedDate = formatter.print(localDate);