问题标签 [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中的字符串到长
我的要求:
我在 EpochMillis 中获得价值
最终目标是以上述格式获取格式化时间,结果应为“长”类型
我可以处理预期的数据,但结果是字符串,在转换回长时,前导零会丢失。(我想将长度保留为 10 - 根据格式)
有人可以帮忙吗?
我在下面试过
在这里我只能得到字符串,我希望它是格式化的(长度为 10)
Edit1:或者我需要任何其他想法。我需要使用仅接受 Long 值的 Setter 方法设置时间,例如 0803072816 [MM-dd-HH-mm-ss]。以毫秒为单位的长而不格式化也可以格式化程序长值或以毫秒为单位的未格式化时间,在这两种情况下,长度都应该正好 = 10
java - 在 Java 8 中将日期从 ISO 8601 Zulu 字符串转换为 java.time.Instant
我想将字符串日期格式转换为 java.time.Instant
解析日期时出现异常。
我使用下面的代码首先从字符串转换为日期。
我想转换 "timestamp":在UTC 时区"2018-07-17T09:59:51.312Z"
的 ISO 8601 格式的格式时间。YYYY-MM-DDThh:mm:ss.sssZ
检查Java 字符串到日期的转换,但不工作。
java - Java 日期比较:不同格式的日期
我有两个字符串格式的日期:sayString date1 = 2018-08-29
和ISO-OFFSET_DATE_TIME
格式为String date2 = 2018-08-30T00:00:00+10:00
. 比较 date1 和 date2 是否相等的最佳方法是什么?我不关心时间,只关心日、年和月。我应该将它们转换为即时并进行比较吗?
java-8 - 如何从 Instant 转换为 LocalDate
根据规范,我有一个Instant
来自应为 a 的来源LocalDate
,但在LocalDate
类中看不到任何将其转换Instant
为 a 的方法LocalDate
。
做这个的最好方式是什么?
java - Instant.toEpochMilli() 可以用作唯一ID吗?
我必须生成一个唯一的 ID,它也是可读的,因此不能使用 UUID。所以我想到了使用 Instant.toEpochMilli()。它可以用作唯一ID吗?
postgresql - 即时与 ZonedDateTime
我只是不太明白我应该在以下示例中使用这两者中的哪一个:
我们有一个OfferEntity
which 有一个成员,该成员availableDay
是提供该优惠的日期。
现在,表格将如下所示:
从PostgreSQL 文档中我们知道:
对于
timestamp with time zone
,内部存储的值始终采用 UTC(通用协调时间,传统上称为格林威治标准时间,GMT)。使用该时区的适当偏移量将具有指定明确时区的输入值转换为 UTC。如果输入字符串中没有说明时区,则假定它在系统TimeZone
参数指示的时区中,并使用时区的偏移量转换为 UTC。
这意味着在保留任何日期/时间信息时我应该没问题。
但这对我OfferEntity
和我定义的 REST 端点意味着什么OfferController
?
对比
据我了解 - 这不应该有所作为。无论如何,PostgreSQL 都将所有内容都存储为 UTC,所以我应该能够接受Instant
还是ZonedDateTime
正确的?写点东西-> UTC。再读一遍->仍然是UTC。
甚至客户也无法区分:
将返回:
但肯定有一个我显然没有看到的关键区别。
我可以看出两个不同之处。似乎 Spring 在转换"2018-10-07T15:30:08.579Z"
为Instant
对象方面没有问题,但如果我将类型更改为ZonedDateTime
. 至少开箱即用。
另一个区别是,如果我使用Instant
,我会强迫我的客户首先将他们所有的日期/时间字符串转换为 UTC。所以任何客户都必须myDate.toUTCString()
首先。ZonedDateTime
只要设置了时区,就需要任何时间,但我们为什么要关心呢?
那么两者中哪一个是更好的选择,为什么我会选择一个而不是另一个?
json - How can I test a spring-cloud-contract containing a java.time.Instant field
I want to test a contract where one field is of type java.time.Instant. But not all instances of an Instant are handled as I expect by spring-cloud-contract. Given the following simple contract:
And this service implementation:
Executing gradle test works fine. But if I replace the Instant with Instant.now(), my provider test fails with
which is understandable because Instant.now() produces an Instant whose string representation does indeed not match the anyIso8601WithOffset()
pattern. But why is this? Why are Instants represented differently and how can I describe a contract that validates for any instant?
java - java.time.Instant (1.8) 是线程安全的吗?
如果是,如何证明 Instant 是线程安全的?
java - 为什么 Java 8 Instant.now() 在我的本地服务器上显示错误的 UTC?
Java8Instant.now()
给出了已经格式化为 UTC 的当前时间。我在CompileJava.net上创建了一个简单的沙盒测试来验证我的预期结果:
注意:目前是 2018 年 12 月 1 日上午 11:16 UTC。
当我在在线编译器上运行这段代码时,我得到了输出:
但是,当我在本地 JBOSS 服务器上运行此代码时,我会得到以下输出:
这里可能出了什么问题?我的服务器 UTC 时钟不正确吗?我的本地服务器的物理位置在加利福尼亚。虽然这无关紧要,但当我尝试使用Instant.now()
太平洋时间来显示 UTC 时间时,这似乎很奇怪。
非常感谢任何帮助!
更新
正如接受的答案所指出的,问题是我的Timestamp.from()
方法:
输出:
所以现在我的问题已经改变了。如果您有类似的问题,我在这里的 Stack Overflow 上找到了我的答案。而不是Timestamp.from(Instant.now())
我使用这个丑陋的烂摊子:
scala - ScalaTest:在同一毫秒内将 Instant 视为相等
我有一个我序列化为 JSON 的案例类,以及一个检查往返工作的测试案例。
深埋在案例类中的是java.time.Instant
s,我将其放入 JSON 作为它们的纪元毫秒。
事实证明,anInstant
实际上具有纳秒精度,并且在翻译中丢失,导致测试失败,因为时间戳现在稍微偏离。
有没有一种简单的方法可以让 Scalatest 忽略差异?我只想修复测试,应用程序完全可以接受精度损失。