【发布时间】:2020-04-27 20:48:19
【问题描述】:
即使经过大量搜索,我也没有找到适合我的问题的答案。 它是 Java API 中的 DateConvertUtil 类。 这是一种重构/功能任务。
我有一个方法,它解析一个给定的日期字符串,在另一个方法的帮助下格式化它并返回一个 LocalDateTime(这有点 - 依赖太多了)。
我想获取用户的时区,转换(或者可能不)转换为 LocalDateTime 但不想每次都保存 LocalDateTime 而是 UTC。
我现在的问题是如何解决这个问题。 我似乎没有得到偏移量。
解析器以前可以工作,但仅适用于 LocaldateTime,格式化程序也可以工作。
到现在为止
public static LocalDateTime parseIso8601(String date) {
if (date == null || date.isEmpty() || date.trim().equalsIgnoreCase("") || date.length() < 10) throw new
IllegalArgumentException("Date cannot by empty or smaller than 10 characters for parsing! Minimum date " +
"is yyyy-MM-dd");
LocalDateTime localDateTime;
OffsetDateTime offsetDateTime = OffsetDateTime.now();
offsetDateTime.toInstant().atZone(ZoneOffset.UTC);
localDateTime = offsetDateTime.toLocalDateTime();
return localDateTime.parse(date, buildIso8601Formatter());
所以我已经阅读了一些关于 ZonedDateTime 和 Timestamps 的内容,但也许我只是想不通。
感谢您的帮助。
【问题讨论】:
标签: java parsing utc datetimeoffset localdate