gpt4 book ai didi

Java - 获取本周日期的数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:02:37 24 4
gpt4 key购买 nike

我正在寻找的是在 java 中创建一个星期几的数组,从昨天开始一直到六天时间

 String daysWeek[] = { "Yesterday", "Today", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};

我要返回的数组的前两个元素为昨天和今天。

起初这似乎是一个简单的任务,使用

currentDay = Calendar.getInstance().get(Calendar.DAY_OF_WEEK);

String daysList[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"};

String daysWeek[] = {"Yesterday", "Today", daysList[currentDay], daysList[currentDay+1], ...};

上面 daysList[currentDay] 的注释将在明天返回,因为 daysList 的数组从 0 开始,即如果 currentDay = 3 表示今天是星期二,那么这将是 daysList[2]

但我的问题在于,如果 currentDay 是 7,这意味着今天是星期六,那么明天的 currentDay+1 将是数组中不存在的第八个元素。

如果今天是星期三或更晚,我是否可以循环我的数字,然后一次 currentDay + x > 7,将 currentDay 设置回 1?

这一切都发生在一个名为 getDaysList(currentDay) 的方法中,该方法返回 daysWeek[] 数组。

最佳答案

此处对您有用的函数是取模 (%) 运算符。

基本上,模运算符所做的就是取除法的余数,这正是您想要的。 (还记得四年级时“9/2”不是 4.5,而是 4 的余数 1 吗?这就是余数部分。)

所以与其拥有:

days[currentDay + x]

使用:

days[(currentDay + x) % 7]

模运算符返回值的快速示例:

 0 % 7 = 0   (0 / 7 = 0 R0)
1 % 7 = 1 (1 / 7 = 0 R1)
6 % 7 = 6 (6 / 7 = 0 R6)
7 % 7 = 0 (7 / 7 = 1 R0)
8 % 7 = 1 (8 / 7 = 1 R1)
15 % 7 = 1 (15 / 7 = 2 R1)

关于Java - 获取本周日期的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15325690/

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