java - 从日期字符串转换为日期时出现日期解析异常
问题描述
如何在java中解析这个日期字符串
“2020-06-12T00:00:00.000+00:00”
我尝试了以下代码:
public static String convertToStandardDateString(String date) {
// 2020-06-12T00:00:00.000+00:00
String resDate = null;
try {
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'+'X");
Date parsedDate = sdf.parse(date);
resDate = sdf.format(parsedDate);
} catch (Exception e) {
}
return resDate;
}
我得到ParsingException
了上面的代码。
解决方案
停止使用已弃用的java.util.Date并开始使用 java-8 date-time api。您拥有的日期字符串表示带有偏移量的日期时间,因此您可以将其直接解析为OffsetDateTime
在 ISO-8601 日历系统中与 UTC/格林威治有偏移的日期时间,例如 2007-12-03T10:15:30+01:00。
OffsetDateTime offsetDateTime = OffsetDateTime.parse("2020-06-12T00:00:00.000+00:00");
推荐阅读
- excel - 获取 Office.js excel 中更改的单元格“valueBefore”
- git - 是否可以在没有本地仓库的情况下将一些文件附加到远程仓库?
- sql-server - 在变量中查找一个单词并渲染 1 else 0
- android - 谷歌地图或一些自定义地图反应原生
- excel - 如何将标题限制在我的工作簿中?
- css - 使用 Angular CLI 动态加载 CSS
- javascript - 更改每条路线的 Vue 应用程序背景图像
- macos - 如何设置路径 pygobject Macos catalina 安装 PyGTK
- r - 如何计算R中两条记录之间的日期差异
- r - 如何更改 rmarkdown word_document 中的纸张大小?