java - 在 Java 中将字符串日期转换为 ISO 日期格式“2019-07-01T03:50:00.000Z”
问题描述
如何将Mon Jul 01 08:00:00 IST 2019
字符串类型的日期“”转换为 ISODate“ 2019-07-01T03:00:00.000Z
”?
解决方案
更新:使用 Java 8 中引入的 DateTimeFormat:
这个想法是定义两种格式:一种用于输入格式,一种用于输出格式。使用输入格式化程序解析,然后使用输出格式化程序进行格式化。
您的输入格式看起来很标准,除了结尾的Z
. 无论如何,让我们处理这个:"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
. 尾随Z
是有趣的部分。通常这里有时区数据,比如-0700
. 所以模式将是...Z,
ie 没有撇号。
输出格式更简单:"dd-MM-yyyy"
. 介意小 y -s
。
这是示例代码:
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyy", Locale.ENGLISH);
LocalDate date = LocalDate.parse("2018-04-10T04:00:00.000Z", inputFormatter);
String formattedDate = outputFormatter.format(date);
System.out.println(formattedDate); // prints 10-04-2018
原始答案 - 使用旧 API SimpleDateFormat
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM-yyyy");
Date date = inputFormat.parse("2018-04-10T04:00:00.000Z");
String formattedDate = outputFormat.format(date);
System.out.println(formattedDate); // prints 10-04-2018
推荐阅读
- python - 为什么 pandas.read_json() 返回一个空的数据框
- java - 如何通过JDBC连接mssql数据库
- r - R闪亮的架构模型
- java - Kotlin 使用多个分隔符空格和逗号分割字符串
- java - 输入验证 Do While 循环
- hibernate - 休眠 OneToMany 子级和级联
- java - 解析嵌套的 JSONArray 并以 Recyclerview 正确的方式显示它
- python - 过滤熊猫中两个日期之间的行
- php - Symfony 4.4 - 添加具有多对多关系的数据库的问题
- android - 如何导出适用于 Android 的 Google Chrome 历史记录?