android 在Kotlin中计算两个日期之间的天数差

deikduxw  于 2023-02-02  发布在  Android
关注(0)|答案(2)|浏览(278)

我需要在我的应用程序能够计算两个日期之间的天数差异。我尝试了几种方法,可以给予我们未来的天数差异,但我需要得到过去的权利以及。
我尝试使用val currentTime = Calendar.getInstance().time

3qpi33ja

3qpi33ja1#

哦,孩子,你还没意识到,你刚刚打开了潘多拉魔盒:时间是非常怪异的(尤其是在过去),它不像计算两个时间戳之间的差那么简单,如果你想了解其中的疯狂,我强烈推荐this video by Tom Scott
但不管怎样,对于你的问题:

import java.time.Duration
import java.time.LocalDate

val firstTimestampInclusive = LocalDate.of(2000, 2, 27)
val secondTimestampExclusive = LocalDate.of(2000, 3, 1)
val numberOfDays = Duration.between(firstTimestampInclusive.atStartOfDay(), secondTimestampExclusive.atStartOfDay()).toDays()
println("Number of days between $firstTimestampInclusive and $secondTimestampExclusive: $numberOfDays")

这将打印以下内容:

Number of days between 2000-02-28 and 2000-03-01: 2

编辑:由于许多原因,使用java.util.Datejava.util.Calendar是讨论过的,您应该使用java.time代替(正如我在回答中提到的)。

t1rydlwq

t1rydlwq2#

val cal = Calendar.getInstance()
cal.time = date1
val day1 = cal.get(Calendar.DAY_OF_YEAR)

val cal2 = Calendar.getInstance()
cal2.time = date2
val day2 = cal2.get(Calendar.DAY_OF_YEAR)

day 1和day 2是0-365之间的整数

相关问题