Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将joda datetime转换为字符串,反之亦然_Java_Datetime - Fatal编程技术网

Java 如何将joda datetime转换为字符串,反之亦然

Java 如何将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

有没有办法将Joda DateTime转换为字符串,然后再从该字符串转换为DateTime

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)。