私はこれが1000の異なる場所で1000回行われたと確信しています。問題は、現在の「時間」が形式で指定された2つの時間値の間にあるかどうかを確認するためのより良い/標準/より速い方法があるかどうかを知りたいということhh:mm:ss
です。たとえば、私のビッグビジネスロジックはの間で実行するべきではありません18:00:00 and 18:30:00
。だからここに私が心に留めていたものがあります:
public static boolean isCurrentTimeBetween(String starthhmmss, String endhhmmss) throws ParseException{
DateFormat hhmmssFormat = new SimpleDateFormat("yyyyMMddhh:mm:ss");
Date now = new Date();
String yyyMMdd = hhmmssFormat.format(now).substring(0, 8);
return(hhmmssFormat.parse(yyyMMdd+starthhmmss).before(now) &&
hhmmssFormat.parse(yyyMMdd+endhhmmss).after(now));
}
テストケースの例:
String doNotRunBetween="18:00:00,18:30:00";//read from props file
String[] hhmmss = downTime.split(",");
if(isCurrentTimeBetween(hhmmss[0], hhmmss[1])){
System.out.println("NOT OK TO RUN");
}else{
System.out.println("OK TO RUN");
}
私が探しているのは、より優れたコードです
- パフォーマンス
- ルックスで
- 正確に
私が探していないもの
- サードパーティのライブラリ
- 例外処理の議論
- 変数の命名規則
- メソッド修飾子の問題