对于我只能假设是时区问题,以下代码在同一天产生不同的年份值,但时间不同:
注意,代码是用 Kotlin 编写的
例子
fun main(args: Array<String>) {
val middaySundayAfterEpoch = Instant.EPOCH + Duration
.ZERO
.plusDays(3)
.plusHours(12)
val almostMidnightSundayAfterEpoch = Instant.EPOCH + Duration
.ZERO
.plusDays(3)
.plusHours(23)
println(getWeekOfYear(middaySundayAfterEpoch))
println(getWeekOfYear(almostMidnightSundayAfterEpoch))
}
fun getWeekOfYear(instant: Instant): Int {
val calendar: Calendar = Calendar.getInstance()
calendar.time = Date.from(instant)
return calendar.get(Calendar.WEEK_OF_YEAR)
}
结果
1
2
假设
- 星期日,12:00 实际上是星期天,日历中的 13:00
- 星期日,23:00 实际上是星期一,日历中的 00:00
问题
如何修改它以忽略时区,以便两个时间都发生在同一周?