System.out.println(LocalDate.parse("2015-01-15-05:00", DateTimeFormatter.ISO_OFFSET_DATE));
提前感谢!
最简单的答案是使用offsetdatetime
表示数据,但您需要默认时间:
DateTimeFormatter fmt = new DateTimeFormatterBuilder()
.append(DateTimeFormatter.ISO_OFFSET_DATE)
.parseDefaulting(ChronoField.HOUR_OF_DAY, 0)
.toFormatter();
OffsetDateTime dt = OffsetDateTime.parse("2015-01-15-05:00", fmt);
LocalDate date = dt.withOffsetSameInstant(ZoneOffset.UTC).toLocalDate();
ZonedDateTime
在处理时区时很有用,但是当您只处理偏移量时,OffsetDateTime
更简单。
通常,应用程序代码不应包含TemporalAccessor
类型的变量。如果你看到了,通常有一个更好的方法。
问题内容: 我需要将以下格式的String解析为UTC中的LocalDate(或其他)。问题是以下代码: 输出忽略偏移量。所需的输出是 提前致谢! 问题答案: 最简单的答案是用来表示数据,但是您需要默认时间: 在处理时区时很有用,但是在仅处理偏移量时,它会更简单。 通常,应用程序代码不应包含type的变量。如果您看到了,通常会有更好的方法。
问题内容: 我有一个带有时间戳属性的模型: 时间戳的格式如下: 无法解析此: com.fasterxml.jackson.databind.exc.InvalidFormatException:无法从字符串“ 2017-09-17 13:45:42.710576 + 02” 反序列化类型的值:文本“ 2017-09-17 13:45:42.710576 + 02”可能不能在索引10处解析 我怎样才
问题内容: 我的日期格式是,它产生日期: 但我需要这样的日期: 什么日期格式将产生带有冒号的偏移量? 问题答案: 您可以使用这种格式 看看该文档以获取更多信息。 PS:- 正如我的朋友 @Thomas所 提到的,这仅适用于 Java 7 及更高版本。
我看到多伦多在UTC-4上。 但我怎么才能得到真正的偏移呢?
问题内容: 日期格式:“ yyyy-MM-dd’T’HH:mm:ss.SSSZ ” 输入日期:“ 2017-09-18T03:08:20.888 + 0200 ” 问题:我需要从输入的字符串中检索时区偏移量,并在该时区中打印已解析的日期。换句话说,我需要输出与输入相同。 成功解析输入日期并返回对象。众所周知,Date没有时区字段。将解析的日期转换为其时区,默认情况下为系统时区。当我打印此日期时,它
问题内容: 我想将日期解析为所需的格式,但是每次都会收到异常。我知道这很容易实现,但是我遇到了一些问题,不知道确切的位置: 以下是我的代码: 方法输入:2014-06-04 问题答案: 您的字符串中没有时间部分:月份仅替换两个字符 与