gpt4 book ai didi

scala - 以小时为单位获取两个日期之间的差异

转载 作者:行者123 更新时间:2023-12-02 01:06:55 24 4
gpt4 key购买 nike

我正在尝试计算两个 joda 日期之间的小时差。

val d1 = getDateTime1()
val d2 = getDateTime2()

这是我做的:

# attemp1
val hours = Hours.hoursBetween(d1, d2) // error - types mismatch

# attempt2
val p = Period(d1, d2, PeriodType.hours()) // error - there is such a constructor
p.getHours

那我该怎么做呢?

最佳答案

getDateTime1 的类型应该是org.joda.time.DateTime

这个锅很好:

val d1: org.joda.time.DateTime = DateTime.now
val d2: org.joda.time.DateTime = DateTime.nextMonth

val hours = Hours.hoursBetween(d1, d2)
// org.joda.time.Hours = PT672H

Period 没有工厂方法apply,您应该使用new 来创建Period:

val p = new Period(d1, d2, PeriodType.hours())
// org.joda.time.Period = PT672H

如果您使用 nscala-time您还可以使用方法 to 获取 Interval 并将其转换为 Period:

d1 to d2 toPeriod PeriodType.hours
// org.joda.time.Period = PT672H

(d1 to d2).duration.getStandardHours
// Long = 672

也可以试试 sbt clean

关于scala - 以小时为单位获取两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21508168/

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