Java 如何将joda datetime转换为字符串,反之亦然
有没有办法将Joda DateTime转换为字符串,然后再从该字符串转换为DateTimeJava 如何将joda datetime转换为字符串,反之亦然,java,datetime,Java,Datetime,有没有办法将Joda DateTime转换为字符串,然后再从该字符串转换为DateTime DateTime d = ..; String date = d.toString(); DateTime dateTime = DateTime.parse(date); 我的问题是,上述方法是否有效,或者是否需要使用formatter。试试这个 DateTime dt = new DateTime(); DateTimeFormatter fmt = DateTimeFormat.forPatter
DateTime d = ..;
String date = d.toString();
DateTime dateTime = DateTime.parse(date);
我的问题是,上述方法是否有效,或者是否需要使用formatter。试试这个
DateTime dt = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
String dtStr = fmt.print(dt);
对于那些想从
解析回字符串值的人,可以阅读我的答案
如果您希望仔细阅读DateTime
的实现。toString
方法被AbstractInstant
覆盖
@ToString
public String toString() {
return ISODateTimeFormat.dateTime().print(this);
}
现在,从到字符串解析值:
DateTime dt = new DateTime();
String dtStr = dt.toString();
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
DateTime newDt = fmt.parse(dtStr);
陷阱:这段代码在格式中省略了时区,因此返回的值不一定是开始时的值。问题要求进行两次转换(datetime->string->datetime),但这只提供了一种方法(datetime->string)。