在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!");
}