相关疑难解决方法(0)

如何使用LocalDateTime解析/格式化日期?(Java 8)

Java 8添加了一个新的java.time API来处理日期和时间(JSR 310).

我有日期和时间作为字符串(例如"2014-04-08 12:30").如何LocalDateTime从给定的字符串中获取实例?

在我完成LocalDateTime对象的使用之后:如何将LocalDateTime实例转换回具有与上面所示格式相同的字符串?

java datetime timestamp java-8 java-time

313
推荐指数
6
解决办法
47万
查看次数

Instant和LocalDateTime有什么区别?

我知道:

  • Instant是用于计算的"技术"时间戳表示(纳秒).
  • LocalDateTime是日期/时钟表示,包括人类的时区.

仍然最终IMO都可以作为大多数应用程序用例的类型.例如:目前我正在运行一个批处理作业,我需要根据日期计算下一次运行,我很难找到这两种类型之间的优缺点(除了Instant的纳秒级精度优势和时区部分) of LocalDateTime).

您能说出一些应用示例,其中只应使用Instant或LocalDateTime吗?

编辑:注意有关精度和时区的LocalDateTime的误读文档

java datetime java-8

205
推荐指数
5
解决办法
8万
查看次数

无法从TemporalAccessor获取OffsetDateTime

当我这样做

String datum = "20130419233512";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").withZone(ZoneId.of("Europe/Berlin"));
OffsetDateTime datetime = OffsetDateTime.parse(datum, formatter);
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

    java.time.format.DateTimeParseException: Text '20130419233512' could not be parsed: 
Unable to obtain OffsetDateTime from TemporalAccessor: {InstantSeconds=1366407312},ISO,Europe/Berlin resolved 
to 2013-04-19T23:35:12 of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud)

如何解析我的日期时间字符串,以便将其解释为始终来自"Europe/Berlin"时区?

java java-8 java-time

13
推荐指数
2
解决办法
8367
查看次数

ZoneId ID的本地化名称

我有一个我希望用户可以选择的时区列表.所以,我以为我可以调用java.time.ZoneId.getAvailableZoneIds()并使用getDisplayName它们的方法.这导致了许多重复的条目,如

中欧时间

即使我添加了时区偏移,它们也不是不可取的.但是,a的ID ZoneId区分条目但我如何本地化它们?ID始终为英文

欧洲/罗马

java timezone java-8

2
推荐指数
1
解决办法
602
查看次数

如何从 Java 中的给定 ZoneOffset 获取 ZoneId 值?

我试图通过将区域偏移量(例如“GMT+2”)作为字符串来获取所有 zoneId。但是,我不确定是否可以使用任何 Java 8+ 库。是否可以获得具有给定区域偏移量的所有区域 id 值?

有一个名为getAvailableZoneIds()的方法,java.time但它不带偏移参数。

java timezone datetime timezone-offset java-time

0
推荐指数
1
解决办法
55
查看次数