gpt4 book ai didi

java - Scala 中两个纪元日之间的天数

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:40 25 4
gpt4 key购买 nike

我有两个纪元时间戳,我试图找出这两个时间戳之间的天数。

这是我现在拥有的:

dateFrom = inputEntry.getValue(inputFields(0).get).asInstanceOf[String].toLong
dateTo =inputEntry.getValue(inputFields(1).get).asInstanceOf[String].toLong

例子:

dateFrom    dateTo      result
1501583232 1501641000 1
1501583232 1501986600 5

我从这里的两个纪元开始

最佳答案

tl;dr

ChronoUnit.DAYS.between( … , … )

详情

这已在 Stack Overflow 上多次介绍。在这里简单介绍一下……

对于日期时间值,使用日期时间对象。仅使用 java.time 类,避免麻烦的遗留日期时间类(Date、Calendar 等)。

您是指日期差异还是 24 小时时间 block 差异?

我会在这里选择日期。

首先,将似乎是从纪元引用日期 1970-01-01T00:00:00Z 开始的整秒数转换为 UTC 时间轴中的一个点。

请注意数字文字末尾的 L 表示 long 而不是 int。

Instant instant = Instant.ofEpochSecond( 1_501_583_232L ) ; 

指定要考虑日期的时区。

ZoneId z = ZoneId.of( "America/Montreal" ) ;
ZonedDateTime zdt = instant.atZone( z );

转换为仅日期。

LocalDate ld = zdt.toLocalDate() ;

获得差异。

long days = ChronoUnit.DAYS.between( ld , ld2 ) ;

关于java - Scala 中两个纪元日之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45437445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com