使用下面的代码我试图转换时间:"2014-10-31T23:59:59"
只是 "yyyy-MM-dd"
格式,所以在这种情况下,"2014-10-31"
。转换日期使用约达时间和忽略时间
下面是代码:
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class TestConvert {
public static void main(String args[]){
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
DateTime dt = formatter.parseDateTime("2014-10-31T23:59:59");
System.out.println("formatted date is "+dt.toString());
}
}
例外:
Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "2014-10-31T23:59:59" is malformed at "T23:59:59"
at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:899)
at (TestConvert.java:11)
如何忽略了时间和刚刚创建的日期?
你的代码是不是正常?输出为“格式化日期为2014-10-31T23:59:59.000Z”,当我期望它的“格式化日期为2014-10-31”时。另外var“formatter”从来没有使用? – 2014-10-31 13:11:38
@蓝天复制粘贴错误 - 事实上,你是对的。你应该调用'formatter.print' - 看我编辑的答案。 – Mureinik 2014-10-31 13:20:52