gpt4 book ai didi

java - Java 中的周历

转载 作者:行者123 更新时间:2023-12-01 18:40:04 24 4
gpt4 key购买 nike

Stack 上有 100 万篇关于如何获取当前星期几的帖子,我已经浏览了所有这些帖子,但都无济于事。我正在查看 API,但仍然不知道如何执行此操作。

我需要使用 Java 设置每周日历。因此,如果周日是 29 号,则周一将是 30 号,周二是 31 号或 1 号,周三是 1 号或 2 号,依此类推。

所以我需要做的是获取一周的第一天(星期日,对应于Calendar._DAY_OF_WEEK中的1),即该月的第一天(这将是 >Calendar.DAY_OF_MONTH),以及之后的六天,考虑到新月份可能开始的可能性。

我知道这听起来很简单,但我已经在 StackOverflow 上搜索了好几个小时了,令人惊讶的是我还没有找到这样的东西。

最佳答案

这将获取本周的天数。

private Locale locale = Locale.UK;
// 1. create calendar
private Calendar cal = new GregorianCalendar(locale);
private DateFormat df = DateFormat.getDateInstance(DateFormat.FULL, locale);

public void getThisWeeksDays() {
// 2. set calendar to the current date
cal.setTime(new Date());
cal.setFirstDayOfWeek(Calendar.SUNDAY);

// 3. set calendars dOW field to the first dOW (last sunday)
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());

for (int i = 0; i < 7; i++) {
// 4. get some infomation
String nameOfMonth = cal.getDisplayName(Calendar.MONTH, Calendar.LONG, locale);
String nameOfDay = cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, locale);
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);

System.out.println(dayOfMonth + ": " + df.format(cal.getTime()));

// 5. increase day field; add() will adjust the month if neccessary
cal.add(Calendar.DAY_OF_WEEK, 1);
}
}

打印输出:

1: Sunday, 1 December 2013
2: Monday, 2 December 2013
3: Tuesday, 3 December 2013
4: Wednesday, 4 December 2013
5: Thursday, 5 December 2013
6: Friday, 6 December 2013
7: Saturday, 7 December 2013

关于java - Java 中的周历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20306583/

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