问题标签 [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 - 如何在 Restful API 正文响应中将 Java 'java.time.Instant' 属性作为 json 值返回?
我有一个 Spring Boot RESTful API 服务,它在其响应中返回一个 Java 对象,该对象被翻译成 json。
Java 对象属性之一是“Java.time.Instant”。我应该如何为返回的 json 对象翻译这个?
更新
我试过使用@JsonFormat 但这不起作用......
返回的 Java 对象具有“即时”属性...
这将在 json 响应正文中返回...
我正在使用 Spring Boot 1.5.4
控制器方法是...
java - java 8 Instant with time 00:00:00 在转换为 util,Date 后给出时间 02:00:00
我在将 java.time.Instant 转换为 java.util.Date 时遇到问题:
给出输出:
为什么日期时间是 02:00:00?以及如何使用时间 00:00:00 进行转换
java - 以纳秒精度重写 UNIX 时间
自 epoc 以来,我有一个 unix 时间,以毫秒为单位,例如:1505913038295
我需要把它分成两件事。所以我可以使用 Java Instant 类方法。
纪元以来的秒数(我能做到) long secondsSince1970 = milisecondsSince1970 / 1000;
这个我需要帮助。我需要取毫秒的余数,比如 295,(第一个问题:我如何得到余数)然后将其转换为纳秒,然后获取当前的 System.nanoTime() 并将其添加到纳米拉曼德。
2017 年 9 月 20 日星期三 13:21:33 + [nano + nono 中的剩余 mili] [自 epoc 以来的秒数] + [nano + nono 中自 epoc 以来的毫秒数]
然后希望我可以调用 Instant.ofEpochSecond,类似这样。
我希望这是有道理的。
java - 如何在 MySQL 数据库中存储 Java Instant
使用 JavaDate
对象最简单的方法是将它们存储为 MySqlDateTime
对象(以 UTC 格式)。切换到Instant
这种方法将不再起作用,因为 MySQLDateTime
不提供存储纳秒的精度。仅仅截断它们可能会导致新创建Instant
的对象与从数据库中读取的对象之间出现意外的比较结果。
BigDecimal
时间戳并不是一个优雅的解决方案让我印象深刻:手动编写选择查询变得更加困难,因为您必须在各处转换时间戳以使其可读,并且与值Instant
甚至Long
值相比,Java 中的处理有些笨拙。
去这里的最佳方式是什么?应该不会varchar
吧?
java-time - java.time.Instant.plus(long amountToAdd, TemporalUnit unit) 不支持的单位
我试图在当前时间上增加几年。我的代码如下所示:
但我有一个例外:
当我打开该方法时,Instant.plus
我看到以下内容:
如您所见MONTHS
,YEARS
不受支持。但为什么?有了一个旧的java.util.Calendar
,我可以很容易地做到这一点:
我猜唯一的一个原因是,由于闰日 2 月 29 日,我们不知道一个月和一年中有多少天。但老实说,我们也有闰秒。因此,我认为这是一个错误,ChronoUnit
应该支持所有 s。唯一的一个问题是:我们是否需要考虑闰秒和闰日。至于我的需要,可以假设那个月有 30 天和 365 年。我不需要做类似的事情,Calendar.roll()
但这也可以满足我。
java - 2 个瞬间之间的 Java 年
在 Joda 中,我们可以计算 2 Datetime 之间的年份使用
java.time
有没有什么简单的方法可以在没有太多逻辑的情况下使用 API在 2 个瞬间之间找到年份?
失败:
java - java.time 和 JPA
LocalDateTime
包java.time
中的类是基于值的类。如果我有一个使用这样的对象作为字段的实体,我会遇到以下“问题”:不应序列化基于值的类。但是,JPA 实体必须实现接口 Serializable。这个悖论的解决方案是什么?不应该有人使用 LocalDateTime 作为 JPA 实体的字段吗?改用日期?这将是不令人满意的。
这个问题是声纳规则squid:S3437
,因此项目中有很多错误,因为我们从 Date 更改为 LocalDateTime ...
由于基于值的类使用导致不合规的解决方案:
java-time - Mapstruct LocalDateTime 到 Instant
我是 Mapstruct 的新手。我有一个包含LocalDateTime
类型字段的模型对象。DTO 包括Instant
类型字段。我想将LocalDateTime
类型字段映射到Instant
类型字段。我有传入请求的TimeZone实例。
像这样手动设置字段;
如何使用 Mapstruct 映射这些字段?
java - java.time.OffsetDateTime:无法从 TemporalAccessor 获取 OffsetDateTime
我正在尝试"20140726080320+0400"
使用"yyyyMMddHHmmssZ"
如下格式进行解析:
我一直遇到这个异常:
我究竟做错了什么?
spring-boot - 在 springboot 1.5.3 和 jaxrs 中格式化 java.time.Instant bean 属性
我正在使用 Jaxrs,使用 springboot 1.5.x 创建 Rest 服务。我有一个具有 Instant 属性的 bean。当我打电话给我的服务而不是得到
我想得到一个iso格式的日期,即{"startTime":"2018-01-29T17:51:05"}
我添加了 java-8-time 依赖项
并尝试了几种方法,但都没有奏效。
@JsonFormat
属性上的注释@JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss") private Instant startTime;
ObjectMapper
在应用程序配置中@Bean @Primary public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.build(); objectMapper.registerModule(); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); return objectMapper; }
使用@Provider
/li>使用自定义序列化/反序列化
/li>
我显然在这里遗漏了一些东西。