如何将joda日期时间转换为字符串,反之亦然

2022-09-02 09:40:45

有没有办法将Joda DateTime转换为String,然后从该String转换为DateTime。

DateTime d = ..;
String date = d.toString();
DateTime dateTime = DateTime.parse(date);

我的问题是,上述方法是否有效或是否需要使用格式化程序。


答案 1

试试这个

DateTime dt = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
String dtStr = fmt.print(dt);

答案 2

对于那些想要从toString解析回值的人,可以阅读我的答案。

如果你仔细阅读实施情况。该方法由 覆盖。DateTimetoStringAbstractInstant

@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);