我正在 Android 中开发一个应用程序,该应用程序的服务必须在每周四和周日 22:00 执行
我真正需要的是将日历设置为该日期和时间。但是,我不确定该怎么做。
Calendar calendar = Calendar.getInstance();
这给了我一个带有当前日期和时间的日历。
我知道我可以add天、分钟、小时等等。但是,有没有办法直接setNext("thursday")
?
我不想在那里做很多数学计算。我的意思是我正在寻找一个不需要计算到下周四还剩多少分钟/小时/天的答案。
谢谢你!!
我发现下面的解决方案更简单,更便携,因为它不涉及太多数学。一旦你将其设置为星期四,我相信你可以使用setTime()
日历对象上的方法将其设置为 22:00。
//dayOfWeekToSet is a constant from the Calendar class
//c is the calendar instance
public static void SetToNextDayOfWeek(int dayOfWeekToSet, Calendar c){
int currentDayOfWeek = c.get(Calendar.DAY_OF_WEEK);
//add 1 day to the current day until we get to the day we want
while(currentDayOfWeek != dayOfWeekToSet){
c.add(Calendar.DAY_OF_WEEK, 1);
currentDayOfWeek = c.get(Calendar.DAY_OF_WEEK);
}
}
//usage:
Calendar c = Calendar.getInstance();
System.out.println(c.getTime());
SetToNextDayOfWeek(Calendar.THURSDAY,c);
System.out.println(c.getTime());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)