DateTimeFormat parsing error:Invalid format: "2018-04-02T21:57:05.091Z" is malformed at "T21:57:05.091Z"'
DateTimeFormat parsing error:Invalid format: "2018-04-02T21:57:05.091Z" is malformed at "T21:57:05.091Z"'
我收到以下错误
Invalid format: "2018-04-02T21:57:05.091Z" is malformed at "T21:57:05.091Z"'
org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:945)
当我尝试在弹性搜索上执行 GET 时。
我在为 Elastic 搜索创建索引时用 ("yyyy-MM-dd"
) 定义了日期格式。
我正在尝试使用
解析 ts
DateTime.parse(source.get("ts").get.asInstanceOf[String],
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ"))
当示例显示模式 ("yyyy-MM-dd'T'HH:mm:ss.SSZ")
时,"I have defined Date format with ("yyyy-MM-dd")
" 是什么意思?
后者对我有用(并由 Alvaro 确认)。前者得到指示的错误。看来 "forPattern" 不是正在使用的模式。
package gist;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String testString = "2018-04-02T21:57:05.091Z";
// Works...
String format = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
// Fails with...
// Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "2018-04-02T21:57:05.091Z" is malformed at "T21:57:05.091Z"
// String format = "yyyy-MM-dd";
DateTimeFormatter formatter = DateTimeFormat.forPattern(format);
DateTime dateTime = DateTime.parse(testString, formatter);
System.out.println(dateTime);
}
}
我收到以下错误
Invalid format: "2018-04-02T21:57:05.091Z" is malformed at "T21:57:05.091Z"' org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:945)
当我尝试在弹性搜索上执行 GET 时。
我在为 Elastic 搜索创建索引时用 ("yyyy-MM-dd"
) 定义了日期格式。
我正在尝试使用
DateTime.parse(source.get("ts").get.asInstanceOf[String],
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ"))
当示例显示模式 ("yyyy-MM-dd'T'HH:mm:ss.SSZ")
时,"I have defined Date format with ("yyyy-MM-dd")
" 是什么意思?
后者对我有用(并由 Alvaro 确认)。前者得到指示的错误。看来 "forPattern" 不是正在使用的模式。
package gist;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String testString = "2018-04-02T21:57:05.091Z";
// Works...
String format = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
// Fails with...
// Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "2018-04-02T21:57:05.091Z" is malformed at "T21:57:05.091Z"
// String format = "yyyy-MM-dd";
DateTimeFormatter formatter = DateTimeFormat.forPattern(format);
DateTime dateTime = DateTime.parse(testString, formatter);
System.out.println(dateTime);
}
}