问题标签 [java.time.instant]
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 DateTimeFormatter 一年中的月份格式
我正在尝试将 Instant 转换为格式为“2021 年 7 月 10 日,晚上 10:00”的字符串。
它在我的机器上按预期工作,但在其他环境中显示为“10 7 2021, 10:00 PM”。
java - 如何使用 Instant Java 类解析与 UTC 有偏移的日期时间?
我正在尝试使用带有时区偏移的 Instant.parse() 解析日期时间。我阅读了文档,它说我必须使用 ISO-8601 来做到这一点。我阅读了维基百科的 ISO-8601 文章,并从那里复制了这个日期时间“2007-11-03T13:18:05-03:00”,并将它与 parse() 方法一起使用。该调用抛出异常,表示无法解析该参数。我不明白为什么会这样。有人可以帮我吗?
java - ZonedDateTime 到 Instant 在 Java 8 中是正确的,但在 Java 9+ 中是 1h
在 Java 8 中运行以下代码时,解析字符串“ 2021-03-26T23:43:03+01:00[Europe/London]
”产生的 Instant 为“ 2021-03-26T23:43:03Z
”
(这 afaik 是正确的,因为 2021 年 DST 于 3 月 28 日开始生效,所以伦敦时间 26 日和 UCT 应该仍然匹配)
但是,当在 Java >=9 中运行相同的代码时,结果日期相差一小时:“2021-03-26T22:43:03Z”
这是一个错误,还是我在这里失踪了?我对 Java 比较陌生。
java - MariaDB 驱动程序不支持从 DB 读取 Instant,但支持写入
我知道 JDBC 4.2 驱动程序支持读取和写入 java.time 对象。我尝试使用 MariaDB 2.6 驱动程序存储和检索 Instant 对象。我正在使用 Apache Commons DB Utils 运行查询。
我可以很好地存储 Instant,但无法检索它们。这是驱动程序的错误还是我做错了什么?
存储和读取代码
TimeTest 是一个具有日期时间字段时间的表:
读取 Instant 时出错
java - 使用 java.time 将日期从“06/25/2021 10:26:33.0”格式解析为“2021-06-25T10:26:33.000-04:00”
为了使用junit进行比较,我必须转换日期。我从数据库中得到一个日期,即“ 06/25/2021 10:26:33.0 ”,我必须将其转换为“ 2021-06-25T10:26:33.000-04:00 ”,然后才能在断言中使用它。
我试图不在 java 中使用 SimpleDate,而是使用内置的 java.time。但是,我认为我并没有真正理解其中的所有内容。这是我一直在玩的代码片段。我已经尝试了很多事情,当解析发生时我总是得到一个错误。
在我看来,我认为我必须首先将日期转换为“可接受”格式,因为我觉得这种字符串格式 - “yyyy-MM-dd HH:mm:ss.S”不是 java.time可以处理。它给了我一个错误,例如“无法在索引 19 处解析文本”,然后可能在第二遍中将其转换为“2021-06-25T10:26:33.000-04:00”。
我已经在 SO 上查阅了几篇关于此的文章,但无法找到有助于转换自定义格式的内容。我知道“解析”和“格式”是必须在此处使用的 2 个 API 方法,但不知道如何去做。有人可以将我推向正确的方向吗?
java - 将java时间戳字符串转换为java时间戳对象
我有以下时间戳字符串"2021010112:12:12.10:00"
,我想将其转换为java.time.Instant
.
解析字符串的问题DateTimeFormatter
是由于最后 4 位数字之前没有时区符号。逻辑上它是yyyyMMddHH:mm:ss.
并且10:00
是时区偏移量,例如UTC+10:00
,但问题是它没有符号。
如何将此字符串解析为Instant
对象?
java - 与现有抽象类 Clock 相比,新接口 java.time.InstantSource 的主要目的是什么?
Java 17 中添加了一个新接口java.time.InstantSource
。如果该接口的所有实现也是实现,那么该附加抽象的用例是Clock
什么?
java - Java Instant.parse 无法验证日期
我有一个即时字段,并尝试使用以下方法验证该字段中的值:
Instant.parse("2021-09-29 09:35:07.531")
但是,它会引发错误:
java.time.format.DateTimeParseException:无法在索引 10 处解析文本“2021-09-29 09:35:07.531”。
那么,如何测试Instant
字符串格式的给定日期是否为有效Instant
日期?
我正在实现导入功能,我需要检查日期单元格。因此,日期通常以即时格式保存在 db 中,因此我需要检查单元格日期值是否是有效的即时日期。所以,如果有更合适的方法,我当然可以按照那个方法。
我不使用该值,我只需要检查日期是否为有效日期。
java - 使用 +0000 将字符串日期时间转换为即时
如何将作为字符串 2018-08-10T18:25:00.000+0000 传递的日期时间转换为 Instant?我尝试了以下方法,但没有成功。
java - 逗号后超过 6 位(纳秒)的整数
我有带有TIMESTAMP
字段的 postgresql,它有带有日期和时间的 Instant。例如:2021-10-13T15:04:24.944921Z
。
如您所见,逗号后面有 6 位数字- 944921
。但是如果我有更多的数字,例如:2021-10-13T07:14:47.791616921Z
. 我怎样才能正确地Instant
四舍五入2021-10-13T07:14:47.791617Z
?