java - 如何在 java 中将“2020-03-11 16:27:31”格式转换为“2020-02-24T11:04:52+00:00”格式
问题描述
嗨,我无法理解如何转换
"2020-03-11 16:27:31"
为 "2020-03-11T16:27:31+00:00"
.
我对此一无所知。
日期以格式给出"2020-03-11 16:27:31"
我想要这种格式的上述日期"2020-03-11T16:27:31+00:00"
解决方案
在这里您可以做您需要的事情(如果您使用的是 java8):
String date = "2020-03-11 16:27:31";
String pattern = "yyyy-MM-dd HH:mm:ss";
// formatter with spaces before and after 'T'
DateTimeFormatter f0 = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.append(DateTimeFormatter.ISO_LOCAL_DATE)
.appendLiteral(' ')
.appendLiteral('T')
.appendLiteral(' ')
.append(DateTimeFormatter.ISO_LOCAL_TIME)
.optionalStart().appendOffset("+HH:MM", "+00:00").optionalEnd()
.toFormatter();
// formatter without spaces before and after 'T'
DateTimeFormatter f1 = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.append(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
.optionalStart().appendOffset("+HH:MM", "+00:00").optionalEnd()
.toFormatter();
OffsetDateTime offsetDateTime = LocalDateTime.parse(date, DateTimeFormatter.ofPattern(pattern))
.atOffset(ZoneOffset.ofHoursMinutes(0, 0));
String result = offsetDateTime.format(f1);
但我建议您阅读 @deHaar 推荐的 java.timi 手册。
推荐阅读
- python - 如何从 Mac 的 Spotlight 运行 Python 脚本(而不必打开终端或 Pycharm)?
- reactjs - 我正在尝试从我的反应应用程序向我的服务器发送 POST 请求,但是我不断收到状态 400 Bad Request 错误
- c++ - 如何将 Variadic CRTP 基类设置为派生类的朋友
- asp.net-core - asp.net Core 3.1 Webapp 无法绑定到本地主机
- excel - 检查 EXCEL 中的单元格是否存在不允许的字符
- asp.net-core - .NET Core 2-3 JWT 多受众
- python - 将浮点坐标添加到 numpy 数组
- sql - postgres 在结果行中执行 sql
- python - Python 4 阶差异。Eqn 使用 bvp 求解器
- firebase - Firestore 查询未根据安全规则工作