问题标签 [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.

0 投票
3 回答
8166 浏览

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

控制器方法是...

0 投票
1 回答
484 浏览

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 进行转换

0 投票
1 回答
561 浏览

java - 以纳秒精度重写 UNIX 时间

自 epoc 以来,我有一个 unix 时间,以毫秒为单位,例如:1505913038295

我需要把它分成两件事。所以我可以使用 Java Instant 类方法。

  1. 纪元以来的秒数(我能做到) long secondsSince1970 = milisecondsSince1970 / 1000;

  2. 这个我需要帮助。我需要取毫秒的余数,比如 295,(第一个问题:我如何得到余数)然后将其转换为纳秒,然后获取当前的 System.nanoTime() 并将其添加到纳米拉曼德。

2017 年 9 月 20 日星期三 13:21:33 + [nano + nono 中的剩余 mili] [自 epoc 以来的秒数] + [nano + nono 中自 epoc 以来的毫秒数]

然后希望我可以调用 Instant.ofEpochSecond,类似这样。

我希望这是有道理的。

0 投票
1 回答
10855 浏览

java - 如何在 MySQL 数据库中存储 Java Instant

使用 JavaDate对象最简单的方法是将它们存储为 MySqlDateTime对象(以 UTC 格式)。切换到Instant这种方法将不再起作用,因为 MySQLDateTime不提供存储纳秒的精度。仅仅截断它们可能会导致新创建Instant的对象与从数据库中读取的对象之间出现意外的比较结果。

BigDecimal时间戳并不是一个优雅的解决方案让我印象深刻:手动编写选择查询变得更加困难,因为您必须在各处转换时间戳以使其可读,并且与值Instant甚至Long值相比,Java 中的处理有些笨拙。

去这里的最佳方式是什么?应该不会varchar吧?

0 投票
1 回答
1674 浏览

java-time - java.time.Instant.plus(long amountToAdd, TemporalUnit unit) 不支持的单位

我试图在当前时间上增加几年。我的代码如下所示:

但我有一个例外:

当我打开该方法时,Instant.plus我看到以下内容:

如您所见MONTHSYEARS不受支持。但为什么?有了一个旧的java.util.Calendar,我可以很容易地做到这一点:

我猜唯一的一个原因是,由于闰日 2 月 29 日,我们不知道一个月和一年中有多少天。但老实说,我们也有闰秒。因此,我认为这是一个错误,ChronoUnit应该支持所有 s。唯一的一个问题是:我们是否需要考虑闰秒和闰日。至于我的需要,可以假设那个月有 30 天和 365 年。我不需要做类似的事情,Calendar.roll()但这也可以满足我。

0 投票
1 回答
2279 浏览

java - 2 个瞬间之间的 Java 年

在 Joda 中,我们可以计算 2 Datetime 之间的年份使用

java.time有没有什么简单的方法可以在没有太多逻辑的情况下使用 API在 2 个瞬间之间找到年份?

失败:

0 投票
2 回答
1436 浏览

java - java.time 和 JPA

LocalDateTimejava.time中的类是基于值的类。如果我有一个使用这样的对象作为字段的实体,我会遇到以下“问题”:不应序列化基于值的类。但是,JPA 实体必须实现接口 Serializable。这个悖论的解决方案是什么?不应该有人使用 LocalDateTime 作为 JPA 实体的字段吗?改用日期?这将是不令人满意的。

这个问题是声纳规则squid:S3437,因此项目中有很多错误,因为我们从 Date 更改为 LocalDateTime ...

由于基于值的类使用导致不合规的解决方案:

0 投票
1 回答
18095 浏览

java-time - Mapstruct LocalDateTime 到 Instant

我是 Mapstruct 的新手。我有一个包含LocalDateTime类型字段的模型对象。DTO 包括Instant类型字段。我想将LocalDateTime类型字段映射到Instant类型字段。我有传入请求的TimeZone实例。

像这样手动设置字段;

如何使用 Mapstruct 映射这些字段?

0 投票
2 回答
3386 浏览

java - java.time.OffsetDateTime:无法从 TemporalAccessor 获取 OffsetDateTime

我正在尝试"20140726080320+0400"使用"yyyyMMddHHmmssZ"如下格式进行解析:

我一直遇到这个异常:

我究竟做错了什么?

0 投票
0 回答
748 浏览

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 依赖项

并尝试了几种方法,但都没有奏效。

  1. @JsonFormat属性上的注释

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss") private Instant startTime;

  2. ObjectMapper在应用程序配置中 @Bean @Primary public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.build(); objectMapper.registerModule(); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); return objectMapper; }

  3. 使用@Provider

    /li>
  4. 使用自定义序列化/反序列化

    /li>

我显然在这里遗漏了一些东西。