问题标签 [java-time]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java SE 8 TemporalAccessor.from 与 java.time.Instant 对象一起使用时出现问题
java.time
有一个Instant类,它封装了时间轴上的位置(或“时刻”)。虽然我知道这是一个秒/纳秒值,因此与时区或时间偏移量没有直接关系,但它toString
返回格式为 UTC 日期/时间的日期和时间,例如 2014-05-13T20:05:08.556Z。此外anInstant.atZone(zone)
,anInstant.atOffset(offset)
两者都会产生一个与将Instant
视为具有隐含 UTC 时区/“零”偏移量一致的值。
因此,我本来期望:
ZoneOffset.from(anInstant)
产生一个“零”ZoneOffset
OffsetDateTime.from(anInstant)
生成具有“零”偏移的日期/时间ZoneId.from(anInstant)
(可能)产生一个UTCZoneId
ZonedDateTime.from(anInstant)
(可能)产生ZonedDateTime
带有 UTC 的ZoneId
的文档ZonedDateTime.from
,正如我所读的,似乎支持这一点。
事实上ZoneOffset.from(anInstant)
失败了DateTimeException
,我想因为这个原因OffsetDateTime.from(anInstant)
也失败了,其他两个也是如此。
这是预期的行为吗?
java - 将毫秒转换为小时、分钟、秒时出现错误的时间
我知道我的问题已经被问过很多次了,但我又写了一遍,因为我无法解决我的问题。
我想将以毫秒(我想是这样)表示的时间转换为小时和分钟。我知道哪个是目标,我的意思是正确的小时和分钟,但我无法得到它。
我试过这个:
输出是:
我实际上无法理解错误在哪里。
代码中的长值是从我解析的远程网站检索的:
所以我想将此值转换为人类可读的时间,但我不能。
请给我一些建议好吗?
先感谢您!
java - JPA 对 Java 8 新日期和时间 API 的支持
我正在为我的新项目使用 Java 8。
我正在尝试在 java 8 中使用新的日期和时间 API,但是我不知道是否JPA 2.1
完全支持这个新的日期和时间 API。
请分享您在 JPA 对 Java 8 中新的日期和时间 API 的支持方面的经验/意见。
我可以通过 JPA 2.1 在 Java 8 中安全地使用新的日期和时间 API 吗?
更新:
我使用 Hibernate (4.3.5.Final) 作为 JPA 实现。
java - java.time.LocalDateTime 被持久化为 tinyblob 而不是 JPA 中的 TemporalType with hibernate
我正在尝试使用java.time.LocalDateTime
,但显然Hibernate 4.3.5
(我正在使用 JPA)不支持LocalDateTime
作为TemporalType
(功能请求)。
是否有任何解决方法可以坚持java.time.LocalDateTime
为TemporalType
in Hibernate
?
什么可能是我最好的替代方案(java.util.Date
或jodatime
),这样我可以LocalDateTime
在支持后轻松迁移到它?
java - Java 8 Time API:如何将“MM.yyyy”格式的字符串解析为LocalDate
我对解析日期有点气馁Java 8 Time API中解析日期有点气馁。
以前我可以很容易地写:
但是现在如果我使用LocalDate并这样做:
我收到一个例外:
如果我将字符串格式更改为“yyyy-MM-dd”,即使没有格式化程序,一切都可以正常工作:
所以我的问题是:如何使用 Java 8 Time API 以自定义格式解析日期?
java - 如何使用用户类型在 JPA 中使用 Hibernate 持久化 JSR 310 java.time.LocalDateTime
我正在尝试使用用户类型在 JPA 中使用 Hibernate 在 Java 8 中保留 java.time.LocalDateTime。
我有一个属性注释如下。
我已经为用户类型添加了依赖项,如下所示。
但是,我遇到了以下异常
堆栈跟踪暗示ClassNotFound
但我添加了依赖项'org.threeten:threetenbp:0.9'
我的问题
如何java.time.LocalDateTime
使用用户类型在 Hibernate 中坚持 JPA?
java - 我想通过 JAXB 将带有 java.time.Localdate (JSR-310) 的对象转换为 XML,但输出错误
我想将一个带有 java.time.Localdate (JSR-310) 的对象和一个通过 JAXB 将 Localdate 包装为 XML 的属性转换,但输出是错误的。
这是对象:
这是 XML 输出:
我怎样才能正确转换它?如果那里有更好的东西,我不会坚持使用 JAXB。
java - 为什么 Temporal 在 Java 8 jsr310 中不能扩展 Comparable
java.time.temporal.Temporal的文档包含以下注释:
实施要求:[...]所有实施必须是可比较的。
为什么 Temporal 不只是扩展 Comparable?
背景:我想使用可比较的时间(而不是像 LocalDateTime 等子类型),并且不得不求助于一种有些难以辨认的类型<T extends Temporal & Comparable<T>>
,这也会破坏 NetBeans 的自动完成功能。
编辑:我想实现一个时间间隔。contains(Interval i)、contains(Temporal t)、overlaps(...)、adjoins(...) 等的明显实现使用 Comparable::compareTo(Comparable c) 来比较起点和终点,但对于互操作性 (toDuration(), parse(CharSequence cs)) 我需要 Duration::between(Temporal s, Temporal e) 或 SubtypeOfTemporal::parse(CharSequence cs) (产生 Temporal)。
java - How to get milliseconds from LocalDateTime in Java 8
I am wondering if there is a way to get current milliseconds since 1-1-1970 (epoch) using the new LocalDate
, LocalTime
or LocalDateTime
classes of Java 8.
The known way is below:
or
java - java - 如何保持时间?
我正在构建一个小 android 应用程序,用户可以在其中选择一些操作的开始时间。
我正在使用 TimerPickerDialog:
and when a time is selected it returns an int for the hour and int for the minutes, which I save as a global variable.
稍后在我的应用程序中,我想将这些数字转换为一个 Time 对象,然后我可以使用它来查看当前时间是大于还是小于该类中表示的时间。
我所做的是:
但是 eclips 说这个构造函数已被弃用。但是,似乎并没有弃用需要很长时间的构造函数。
我环顾四周,在一篇帖子中有人建议使用 Calendar 对象——但我想不通——如何获取它的新实例并设置我的时间。它看起来像是只包含时间的开销。
这种情况的最佳实践是什么?如果我需要使用接受 long 变量的构造函数 - 如何将我的 2 个整数转换为那个 long 值?