私は、毎日午前9時と午後8時のタイムスタンプを見つけて、指定されたタイムスタンプがこれらのタイムスタンプの間にあるかどうかを計算する必要があるアプリケーションに取り組んでいます。私の関数を以下に示しますが、2つのカレンダーインスタンスを作成する必要があることを誰かが提案できますか?この機能を最適化するための支援が必要です
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;
}
}
私はそれをこのようにします
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.set(Calendar.HOUR_OF_DAY, 9);
if (datetime < cal.getTimeInMillis()) {
return false;
}
cal.set(Calendar.HOUR_OF_DAY, 20);
return datetime <= cal.getTimeInMillis();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加