我有一个包含日期名称的字符串,我只想在该字符串中看到它,即即将到来的一天。 例如,字符串包含“Sun,Mon,Tue,Fri,Sat” 如果今天是星期三,它应该只在星期五返回。 有人知道如何做到这一点吗? 目前我正在做这件事,但它似乎也返回了太阳,尽管周日已经过去了。
static String[] strDays = new String[] { "Sun", "Mon", "Tue", "Wed", "Thu",
"Fri", "Sat" };
String nexday="sun,mon,tue,fri,sat";
String nexdayone[] = nexday.split(",");
Calendar now = Calendar.getInstance();
Calendar futurecal = Calendar.getInstance();
for (int i = 0; i < nexdayone.length; i++) {
for (int j = 0; j < 7; j++) {
if (strDays[j].equalsIgnoreCase(nexdayone[i])) {
futurecal.set(Calendar.DAY_OF_WEEK, j);
if (futurecal.after(now)) {
Log.d(now.get(Calendar.DAY_OF_WEEK)+" --after-- "+j,""+strDays[j]);
break;
}
}
}
}
最佳答案
那么您想找到从今天开始的下一个工作日,该工作日在您的字符串中列出吗?
我会做一个描述一周的散列,并始终指向散列值“false”
Sun->false
Mon->false
Tue->false
Wed->false
Thu->false
Fri->false
Sat->false
不,分解你的字符串,你可以在哈希中将该字符串中的所有出现设置为 true。对于您的示例,这将是
Sun->true
Mon->true
Tue->true
Wed->false
Thu->false
Fri->true
Sat->true
现在您可以从当前工作日(日历)开始并遍历哈希,直到获得“true”哈希值。实现真正目标的关键将是您寻找的工作日!
关于java - 如何使用java判断一天是否过去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13491365/