嗨,我不懂如何转换
"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"
答案 0 :(得分:1)
以下是您可以执行所需操作的方式(如果您使用的是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手册。
答案 1 :(得分:0)