标签: java.time.instant

Java - 将java.time.Instant转换为没有Zone偏移量的java.sql.Timestamp

在我正在开发的应用程序中,我需要将java.time.Instant对象转换为java.sql.Timestamp.当我创建Instant对象时,例如

Instant now = Instant.now();
Run Code Online (Sandbox Code Playgroud)

并检查元素.我收到类似的东西2017-03-13T14:28:59.970Z 然后我尝试创建这样的Timestamp对象:

Timestamp current = Timestamp.from(now);
Run Code Online (Sandbox Code Playgroud)

当我检查元素时.我收到类似2017-03-13T16:28:59.970Z 相同的结果,但增加了2小时的偏移量.任何人都可以解释你的这种情况,并为我提供答案如何解决这个问题而不会产生抵消?

当我这样创建时:

LocalDateTime ldt = LocalDateTime.ofInstant(Instnant.now(), ZoneOffset.UTC);
Timestamp current = Timestamp.valueOf(ldt);
Run Code Online (Sandbox Code Playgroud)

一切正常.但我尽量避免转换.有没有办法只使用Instant对象?

java time timestamp date java.time.instant

32
推荐指数
2
解决办法
3万
查看次数

如何转换Instant到LocalDate

我有一个来自一个源的Instant,根据规范,它应该是一个LocalDate,但是在LocalDate中没有看到任何转换方法.做这个的最好方式是什么?

java-8 localdate java.time.instant java.time

17
推荐指数
4
解决办法
2万
查看次数

将Joda time Instant转换为Java time Instant

我有一个Instant(org.joda.time.Instant)的实例,我得到了一些api响应.我有另一个来自(java.time.Instant)的实例,我可以从其他一些调用获得.现在,我想比较这两个对象来检查哪一个得到最新的.怎么可能?

java time jodatime java-time java.time.instant

16
推荐指数
1
解决办法
9490
查看次数

为什么JPA不支持java.time.Instant?

我认为这java.time.Instant是将日期存储到数据库中的最佳选择:它最有可能是TIMESTAMP,并且您不依赖于时区,它只是当时的一个时刻.

JPA支持LocalDate,LocalTime,LocalDateTime等,但不是即时.当然,你可以使用AttributeConverterJadira这样的一个或一些库,但为什么它不支持开箱即用?

java jpa java.time.instant

15
推荐指数
1
解决办法
4837
查看次数

将字符串转换为Instant

我试图使用java 8或utils包将string中的datetime转换为即时.

例如.

String requestTime = "04:30 PM, Sat 5/12/2018";
Run Code Online (Sandbox Code Playgroud)

Instant reqInstant should result in 2018-05-12T20:30:00.000Z
Run Code Online (Sandbox Code Playgroud)

reqString位于美国/多伦多时区.

这是我试过的

 String strReqDelTime = "04:30 PM, Sat 5/12/2018";
 Date date = new SimpleDateFormat("hh:mm a, EEE MM/dd/yyyy").parse(requestTime);
 Instant reqInstant = date.toInstant();
Run Code Online (Sandbox Code Playgroud)

上面的代码导致了"2018-05-12T23:30:00Z".

任何帮助表示赞赏.

java timezone date zoneddatetime java.time.instant

13
推荐指数
1
解决办法
2万
查看次数

推荐哪个: Instant.now().toEpochMilli() 或 System.currentTimeMillis()

在Java中,我们可以有许多不同的方式来获得当前的时间戳,但哪一个建议: Instant.now().toEpochMilli()System.currentTimeMillis()

java epoch milliseconds java-time java.time.instant

13
推荐指数
3
解决办法
8856
查看次数

java 8 time api - Instant.now(clock)vs LocaldateTime.now(clock)

对于以下java 8代码

  1. System.out.println(LocalDateTime.now(Clock.systemDefaultZone())); 
  2. System.out.println(Instant.now(Clock.systemDefaultZone()));
Run Code Online (Sandbox Code Playgroud)

第1行打印当前时间通过添加偏移但第2行打印当前时间而不添加偏移量.

我检查了两者的源代码,发现通过添加偏移LocaDateTime.now(clock)返回clock.instant()返回时间但Instant.now(clock)没有这样做.

为什么这样设计?在这两种情况下,我们不期待相同的结果吗?

java time datetime java-8 java.time.instant

11
推荐指数
1
解决办法
3740
查看次数

计算两个瞬间之间的天数、小时数和分钟数

我有一个像这样格式化的即时文件:

DateTimeFormatter formatter = 
 DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT )
                                 .withLocale( Locale.UK )
                                 .withZone( ZoneId.of("UTC"));

String instant = formatter.format(Instant.now()).toString();
Run Code Online (Sandbox Code Playgroud)

我想计算 Instant 和 Instant.now() 之间的天数、小时数和分钟数(如果可能),例如:

// for days
String daysBetween = Instant.now() - instant;
Run Code Online (Sandbox Code Playgroud)

我可以吗?

java time date java.time.instant

10
推荐指数
1
解决办法
8629
查看次数

相对于现有的抽象类 Clock,新接口 java.time.InstantSource 的主要目的是什么?

Java 17 中添加了一个新接口。java.time.InstantSource如果该接口的所有实现都是实现,那么该附加抽象的用例是什么Clock

java java-time java.time.instant

9
推荐指数
1
解决办法
1131
查看次数

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

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

BigDecimal时间戳不会让我成为一个优雅的解决方案:在MySql Workbench中编写select查询会变得更加困难,因为你必须将时间戳转换到任何地方以使其可读,并且Java中的处理与比较Instant甚至Long值相比有点笨拙.

什么是最好的方式去这里?可能不对varchar,对吧?

java mysql datetime date java.time.instant

8
推荐指数
1
解决办法
4074
查看次数