java - Joda Time : Invalid format

标签 java jodatime

我正在使用 Joda API 来格式化当前时间(结果必须是格式为“yyyy-MM-dd HH:mm:ss”的字符串)。下面我提供了我的代码和错误消息:

DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dt = new DateTime();
String datetime = dtf.parseDateTime(dt.toString()).toString();

错误信息:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Invalid format: "2014-11-17T11:47:29.229+01:00" is malformed at "T11:47:29.229+01:00" at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:899)

最佳答案

如果你想使用自定义格式转换为字符串

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

你当前在最后一行所做的是

String defaultFormatted = dt.toString();
// this is what contains the "T11:47:29.229+01:00" part

DateTime dateTime = dtf.parseDateTime(defaultFormatted);
// we're back at the beginning, this is equivalent to your original "dt"

String defaultFormattedAgain = dateTime.toString();
// and this is the same as the initial string with T11:..

因此,您多次从字符串转换为 &,但从未使用 dtf 来实际格式化字符串的外观。

关于java - Joda Time : Invalid format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26971035/

相关文章:

java - 将数据插入数据库 Java JDBC

java - 多线程总是比单线程产生更好的性能吗?

java - 将字符串解析为 JodaTime 时出现无效格式异常

java - 无法从 HH :mm:ss. SSS'Z' 转换为 HH:MM 格式 Java

java - 获取一周中给定日期的下一个 LocalDateTime

jodatime - 纪元时间可以倒退多远?

java - Swing 复选框

java - 谷歌地图 Android 仅显示白屏

java - 使用 AsyncTask 从 JSON 中获取数据

java - DateFormatter 未按给定格式打印值