java - 如何使用java判断一天是否过去

标签 java calendar

我有一个包含日期名称的字符串,我只想在该字符串中看到它,即即将到来的一天。 例如,字符串包含“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/

相关文章:

javascript - Kendo UI 日历 : Force multi-selection

java - 用范围内的随机数字填充数组

java - 如何通过返回数组来打印数组中的唯一元素?

android - 获取当天 Android 4.0+ 上的所有日历事件

javascript - jQuery UI Datepicker,从一个日历移动到下一个日历?

android - 当我有事件 ID 时如何获取 android 日历事件

java - 如何在android中使用mp4parser在视频上添加水印?

java - 将 Gradle 源文件夹标记为 IntelliJ 中的测试源

java - 覆盖继承中的字段类型以进行 GSON 序列化

java - 使用扩展日历 View 显示事件信息