提问人:Jeff 提问时间:5/14/2019 最后编辑:Jeff 更新时间:5/14/2019 访问量:267
SimpleDateFormat 创建 4 位数的月份
SimpleDateFormat creating 4 digit month
问:
我们的代码与下面的代码非常相似,其中我们获取 java.util.Date 并从日期中减去一定的秒数,并将其作为字符串存储在 sqlite 数据库中:
private static final String DB_DATE_FORMAT_STRING = "yyyy-MM-dd'T'HH:mm:ssZ"
SimpleDateFormat DATE_FORMAT_NO_MS = new SimpleDateFormat(DB_DATE_FORMAT_STRING, Locale.US);
String dateToString(java.util.Date date date) {
return DATE_FORMAT_NO_MS.format(date);
}
然后稍后我们在 java 8 DateTimeFormatter 中使用相同的字符串来制作 Java 8 OffsetDateTime:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DB_DATE_FORMAT_STRING);
OffsetDateTime odt = eventData.setDateReceived(OffsetDateTime.parse(dateString, eventDbTimeFormatter));
在将 db 字符串解析回 OffsetDateTime 时,我们不断收到如下所示的崩溃报告:
2019-0005-12T12:07:47-0500' 无法在索引 7 处解析 org.threeten.bp.format.DateTimeFormatter.parseToBuilder
对于 SimpleDateFormat,月份如何变为 0005?
答: 暂无答案
评论
SimpleDateFormat
java.time
DateTimeFormatter
SimpleDateFormat
SimpleDateFormat
java.util.Date
SimpleDateFormat