【发布时间】:2018-11-07 08:54:03
【问题描述】:
我想获取本周第一天的日期。所以我是这样实现的:
fun getFirstDayInCurrentWeek(): Date {
val calendar = Calendar.getInstance()
calendar.clear(MILLISECOND)
calendar.clear(SECOND)
calendar.clear(MINUTE)
calendar.set(HOUR_OF_DAY, 0)
calendar.set(DAY_OF_WEEK, 1)
return calendar.time
}
它适用于大多数设备,但有时它会返回下周第一天的日期。我不知道为什么。
课程来自java.util.*。
编辑:只需在今天(28.05.2018)记录此函数的结果,您将看到 27.05.2018 或 03.06.2018。这些设备具有相同的区域设置和相同的时区。
【问题讨论】:
-
请提供一些样本数据,以便针对您的结果进行测试。
-
只需记录此函数的结果,您将看到今天(28.05.2018)的 27.05.2018 或 03.05.2018。
-
您是否使用具有相同时区/语言环境的设备进行测试?这可能解释了差异
-
在美国的语言环境中,一周的第一天是
SUN。就像“午夜”出于某种原因12:00 PM而不是像00:00这样的东西。 -
@EpicPandaForce 好的,但结果有 7 天的差异,而不仅仅是一天。
标签: android date kotlin dayofweek java.util.calendar