- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在寻找的是在 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/
在一列中有日期,如何创建包含 ISO week date 的列? ISO 周日期由年、周数和星期组成。 year 与使用 year 获得的年份不同功能。 周数 是比较简单的部分 - 它可以使用 wee
在一列中有日期,如何创建包含 ISO week date 的列? ISO 周日期由年、周数和星期组成。 year 与使用 year 获得的年份不同功能。 周数 是比较简单的部分 - 它可以使用 wee
我是一名优秀的程序员,十分优秀!