gpt4 book ai didi

java - 如何在开始和结束时间戳日期之间创建一小时的时间段?

转载 作者:行者123 更新时间:2023-11-30 05:29:36 26 4
gpt4 key购买 nike

我想在两个日期之间创建一小时时段,并保存所有一小时时段以及开始日期和结束日期。怎么办呢?

例如

start date:08/09/2019 13.00
enddate:08/09/2019 16.00

我想要得到

08/09/2019 13.00- 08/09/2019 14.00
08/09/2019 14.00- 08/09/2019 15.00
08/09/2019 15.00- 08/09/2019 16.00

谢谢

最佳答案

java.time

现代解决方案使用java.time类。

本地日期时间

使用LocalDateTime 来表示日期和时间。请注意,如果没有与 UTC 偏移的时区,此类型表示某个时刻,表示时间轴中的一个点。

LocalDateTime start = LocalDateTime.parse( "2019-09-08T13:00:00" ) ;
LocalDateTime stop = LocalDateTime.parse( "2019-09-08T16:00:00" ) ;

循环,每小时

循环,每次添加一个小时,直到超过停止点。

List< LocalDateTime > slots = new ArrayList<>() ;
LocalDateTime ldt = start ;
while (
ldt.isBefore( stop )
) {
slots.add( ldt ) ;
// Prepare for the next loop.
ldt = ldt.plusHours( 1 ) ;
}

ZonedDateTime

如果您想跟踪实际时刻,请指定时区。

ZoneId z = ZoneId.of( "Africa/Casablanca" ) ;
LocalDateTime ldt = LocalDateTime.parse( "2019-09-08T13:00:00" ) ;
ZonedDateTime zdt = ldt.atZone( z ) ;

然后遵循我们在上面的代码中看到的相同逻辑。每小时循环一次,收集 ZonedDateTime 对象。

关于java - 如何在开始和结束时间戳日期之间创建一小时的时间段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57842552/

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