gpt4 book ai didi

java - 使用 GregorianCalendar 获取周数

转载 作者:行者123 更新时间:2023-11-29 20:50:38 33 4
gpt4 key购买 nike

我想利用 GregorianCalendar根据天数做一些逻辑。有什么方法可以查看 2 个日期是否在同一周内?我试过使用 get(Calendar.WEEK_OF_YEAR),这有两个缺点:

1) 错误的星期几开始(在setFirstDayOfWeek中似乎有一个潜在的解决方案,但是初步测试并没有成功。
2)这个解决方案不能很好地延续多年。例如 - 2014 年 12 月 30 日和 2015 年 1 月 1 日应该在同一周。

有没有不需要切换库的解决方案?

最佳答案

好吧,既然你已经说过会有一个时间部分,我会使用类似于@MadProgrammer 的答案的东西,但没有使用整个日期范围的复杂性。我会有一个像这样的静态方法。

public static Date firstOfWeek(Calendar cal) {
Calendar copy = new GregorianCalendar(
cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE));
copy.set(Calendar.DAY_OF_WEEK, copy.getFirstDayOfWeek());
return copy.getTime();
}

这将返回包含特定 Calendar 的一周的第一天的 Date。然后,您可以像这样检查两个日历是否在同一周内。

if (firstOfWeek(cal1).equals(firstOfWeek(cal2))) {
...
}

关于java - 使用 GregorianCalendar 获取周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29242845/

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