问题标签 [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.
jackson - 无法反序列化 java.time.Instant
我有一个 RestEasyClient 必须反序列化一个有java.time.Instant
内部的对象。我尝试从 jsr310 注册新的 JavaTimeModule 但仍然出现错误:
错误:
无法构造 java.time.Instant 的实例:找不到合适的构造函数,无法从 Object 值反序列化(缺少默认构造函数或创建者,或者可能需要添加/启用类型信息?)
修改 Rest Server 以正确序列化 Instant 类后(例如:“fromTime”:1525681860)
新错误:
无法构造 java.time.Instant 的实例:没有从数字值反序列化的双/双参数构造函数/工厂方法 (1.52568186E9)
我设法模拟了这个:
如果我删除“registerModule”行,我会得到同样的错误。
因此,结论是 RestEasyClient 没有注册模块。我肯定做错了什么。
java - 将字符串转换为即时
我正在尝试使用 java 8 或 utils 包将字符串中的日期时间转换为即时。
例如。
到
reqString 位于美国/多伦多时区。
这是我尝试过的
上面的代码导致"2018-05-12T23:30:00Z"
.
任何帮助表示赞赏。
java - 如何在 Java 中初始化 Instant
如何初始化即时类型?
我试过这个:
但是不行。。
我需要它,因为在使用 Freemarker 之后我必须这样做:
android - Localdatetime 到 epoch/calendar.getTimeInMillis() for alarmmanager
我得到了警报管理器设置重复警报的毫秒数,我得到了奇怪的结果-
我定了早上 8 点 55 分的闹钟
然后我使用这种方法来获取自纪元(1970)以来的毫秒数 -
我立即收到警报,所以我检查了从日历与 Java 时间获取毫秒的旧方法 -
我得到了由此建立的localdatetime -
然后我将其转换为 Instant 并使用 ZoneOffset - UTC -
我不确定为什么 toEpochMilliseconds 没有按预期工作?
日历输入 -
java-8 - 检查 Instant 现在是否在 java.time.Period / Duration 期间发生
我的意图是仅在一段时间内将条件设置为真。
java.time.*
API 看起来是我需要的。
如何检查now
在定义的 Period/Duration 期间发生的情况?
我没有看到直接的 API。
编辑:我找到了一种方法java.time.Instant
postgresql - 如何在时间戳中转换bytea?
我有一个具有 java.time.Instant 类型属性的实体。
我正在使用 PostgreSQL,此列已转换为bytea。
hibernate 在控制台中显示如下查询:
我的参数是“2018-07-01T09:41:51.631Z”和“2018-07-03T09:41:51.631Z”。
在 pgAdmin 中,我想知道如何转换 bytea(日期列)来测试我的查询。
java - 即时订购集
我有一个 Java Set
,我将信息提供给:
我想对这个 Set 进行排序 我尝试了一个 sortedSet 但无法让它工作,所以我尝试了这个
唯一的问题是在 Java 文档中它不保证保留任何订单。所以我尝试了这个:
不用说它不起作用,所以任何有其他想法的人都会非常感激。
java - 日历日中 2 个瞬间之间的差异
所以我试图用我的代码获取一个特定的数字。现在我有:
问题是,因为这不是完全相隔 24 小时,它最终会返回daysTilExp = 0
,但我希望daysTilExp = 1
我试图让两个 Instant 相隔实际天数,即使我像这样更改 Expiration 的值:
现在daysTilExp = 2
。我在 StackOverflow 上查看了其他一些答案,但看起来人们并没有使用Instant
,他们也不希望以同样的方式有所不同
java - 从 java.time.Instant 的 MIN/MAX 生成的 java.sql.Timestamp 的行为与从 Long.MIN_VALUE / Long.MAX_VALUE 构造时的行为不同
我在编写一个测试用例时遇到了这个问题,我必须在一系列时间戳之间获取一系列记录——使用H2
嵌入式数据库和spring-data-jpa
.
原始问题位于:Fetching records BETWEEN two java.time.Instant instances in Spring Data Query
我有时间戳作为java.time.Instant
实例。
如果用户没有给出开始结束时间戳,我会继续插入Instant.MIN
和Instant.MAX
。
令我困惑的是,以下测试用例通过了:
但是,以下测试用例失败:
此外,如果past
和future
不是 MIN/MAX 值,而是正常值,则结果符合预期。
知道为什么 java.sql.Timestamp 会这样吗?
另外,如果 Instant 表示的时间对于 Timestamp 来说太大了,它不应该失败吗?
PS如果这个问题已经被问过,有人可以链接原件,因为我找不到它。
编辑:添加了我在评论部分提到的调试信息,以便我们将所有内容集中在一个地方。
对于由andTimestamp
制成的实例,我有以下值:Instant.MIN
Instant.MAX
对于由andTimestamp
制成的实例,我得到了:Long.MIN_VALUE
Long.MAX_VALUE
为了澄清我的问题,时间戳应该明确失败,而不是静默失败或在内部使用不同的值。目前没有。
java - 用不同的可能格式解析日期
我必须将 a 解析为String
UTC 中的时间戳。可以有这些String
格式:
YYYY-MM-DDThh:mm:ss.sssZ
YYYY-MM-DDThh:mm:ss.sss+/-hh:mm
YYYY-MM-DDThh:mm:ss.sss
(考虑到 UTC,所以Z
在末尾添加一个)
这样做并避免的最佳方法是什么: