在Java中检查事件时间戳记是否在工作日和工作时间从9:30 AM到4:00 PM的最佳方法是什么,并根据比较将变量命名为Event_Type =“ business”或“ non business”。

1)时间戳是Unix时间戳。

2)时区差异不是问题,因为所有事件时间戳都属于同一时区(芝加哥中央时区)。

3)星期一,星期二,星期三,星期四和星期五是工作日。剩下的日子没有。在这些工作日内,如果时间戳记在9:30 AM到4:00 PM之间,则event_type varible等于“ business”,否则应为非业务。

我正在寻找对大量数据进行有效处理的最佳方法。

我在寻找使用java.util Calendar对象的东西

最佳答案

这是一个选择

    Calendar d = Calendar.getInstance();
    Calendar begin = Calendar.getInstance();
    Calendar end = Calendar.getInstance();

    begin.set(Calendar.HOUR, 9);
    begin.set(Calendar.MINUTE, 29);
    begin.set(Calendar.AM_PM, Calendar.AM);

    end.set(Calendar.HOUR, 4);
    end.set(Calendar.MINUTE, 01);
    end.set(Calendar.AM_PM, Calendar.PM);

    if (d.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY || d.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY
            || (d.after(begin) && d.before(end))) {
        System.out.println("YAY!");
    }

07-28 02:22
查看更多