我有这样的代码:
private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
现在,我尝试格式化检查一些字符串数据,
final String format = SIMPLE_DATE_FORMAT.format("2022-12-07T10:57:23.970Z");
我得到不能将给定对象格式化为日期的错误。这里的问题是什么,我如何解决它?
您的代码片段有两个问题:
format
方法将Date
对象格式化为String
。也许,你想使用parse
方法将String
对象转换为Date
对象。- 您传递的字符串与您传递的模式不兼容。模式中的
Z
要求传递一个时区。-0700
就是一个有效的例子。SimpleDateFormat的javadoc中显示了一个示例;只要用yyyy-MM-dd'T'HH:mm:ss.SSSZ
搜索。