我正在开发一个应用程序,我必须找到每天上午 9 点和晚上 8 点的时间戳,并计算给定的时间戳是否在这些时间戳之间。 我的功能在下面给出,有人可以建议我是否有必要创建两个日历实例?需要帮助来优化这个功能
boolean isDateTimeBetweenNineAMTOEightPM(long datetime) {
long nineAM = 0, eightPM = 0;
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, 9);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 00);
calendar.set(Calendar.AM_PM, Calendar.AM);
nineAM = calendar.getTime().getTime() / 1000;
calendar.set(Calendar.HOUR, 8);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 00);
calendar.set(Calendar.AM_PM, Calendar.PM);
eightPM = calendar.getTime().getTime() / 1000;
if (datetime >= nineAM && datetime <= eightPM) {
return true;
} else {
return false;
}
}
最佳答案
这样的事情怎么样?
boolean isDateTimeBetweenNineAMTOEightPM(
long datetime) {
final Calendar calendar = Calendar.getInstance(); // Get one calendar instance.
calendar.set(Calendar.MINUTE, 0); // Set Minutes, Seconds, and Millis to 0.
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
calendar.set(Calendar.HOUR, 9); // 9 AM
calendar.set(Calendar.AM_PM, Calendar.AM);
final long nineAM = calendar.getTimeInMillis(); // In Millis.
calendar.set(Calendar.HOUR, 8); // 8 PM
calendar.set(Calendar.AM_PM, Calendar.PM);
return (datetime >= nineAM && datetime <= calendar
.getTimeInMillis()); // Return.
}
关于java - 是否有必要在 java 函数中为时间创建两个日历实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20626884/