代号一个日期解析
Codename One Date parsing
正在尝试使用 SimpleDateFormat 的 codenameone 库解析 ISO8601。我收到以下错误;
String input = "2019-08-30T00:34:34Z";
SimpleDateFormat format = new
SimpleDateFormat(DateFormatPatterns.ISO8601);
Date date = format.parse(input);
java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-18
查看DateFormatPatterns的源代码,ISO8601
定义为"yyyy-MM-dd'T'HH:mm:ssZ"。
将其放入最小的普通旧 Java 示例中:
import java.util.Date;
import java.text.*;
public class DateProblem {
public static void main(String[] args) throws Exception {
String input = "2019-08-30T00:34:34Z";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
// DateFormatPatterns.ISO8601
Date date = format.parse(input);
System.out.println(date);
}
}
给我一个 "unparsable date" 错误(但不是你得到的字符串索引错误)。
检查 Javadoc for SimpleDateFormat shows that Z
stands for RFC 822 格式,即 +
或 -
和 4 位数字(与 GMT 的小时和分钟偏移)。将输入中的 Z
更改为这样的时区偏移量,例如:
String input = "2019-08-30T00:34:34-0600";
这对我来说解析得很好。
也就是说,整个 SimpleDateFormat
等都已弃用。您应该切换到新的 java.time API
这是祖鲁时间的一个错误。我不确定这是怎么发生的,因为这段代码已经存在很长时间了,但它应该适用于今天的更新。
正在尝试使用 SimpleDateFormat 的 codenameone 库解析 ISO8601。我收到以下错误;
String input = "2019-08-30T00:34:34Z";
SimpleDateFormat format = new
SimpleDateFormat(DateFormatPatterns.ISO8601);
Date date = format.parse(input);
java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-18
查看DateFormatPatterns的源代码,ISO8601
定义为"yyyy-MM-dd'T'HH:mm:ssZ"。
将其放入最小的普通旧 Java 示例中:
import java.util.Date;
import java.text.*;
public class DateProblem {
public static void main(String[] args) throws Exception {
String input = "2019-08-30T00:34:34Z";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
// DateFormatPatterns.ISO8601
Date date = format.parse(input);
System.out.println(date);
}
}
给我一个 "unparsable date" 错误(但不是你得到的字符串索引错误)。
检查 Javadoc for SimpleDateFormat shows that Z
stands for RFC 822 格式,即 +
或 -
和 4 位数字(与 GMT 的小时和分钟偏移)。将输入中的 Z
更改为这样的时区偏移量,例如:
String input = "2019-08-30T00:34:34-0600";
这对我来说解析得很好。
也就是说,整个 SimpleDateFormat
等都已弃用。您应该切换到新的 java.time API
这是祖鲁时间的一个错误。我不确定这是怎么发生的,因为这段代码已经存在很长时间了,但它应该适用于今天的更新。