Javaで日付形式の有効性を判断するコードを記述するにはどうすればよいですか。
Simple Date Formatクラスを使用して、日時形式が正しいかどうかを判断できます。以下にサンプルコードを示します。
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class TimeFormatChecker {
public static boolean isTimeFormatCorrect(String time, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
sdf.setLenient(false); // 设置严格的解析,不容忍任何错误
try {
sdf.parse(time);
return true;
} catch (ParseException e) {
return false;
}
}
public static void main(String[] args) {
String time1 = "09:30";
String time2 = "9:30 AM";
String pattern = "HH:mm";
System.out.println(isTimeFormatCorrect(time1, pattern)); // 输出: true
System.out.println(isTimeFormatCorrect(time2, pattern)); // 输出: false
}
}
指定したコードの isTimeFormatCorrect() メソッドは、検査対象の文字列と時間のフォーマットパターンという二つの引数を受け取ります。SimpleDateFormat オブジェクトを作成し、parse() メソッドを使って指定された文字列のパースを試みます。パースに成功した場合は、この時間のフォーマットが正しいことを示し、失敗した場合は ParseException 例外をキャチして、false を返し、時間のフォーマットが正しくないことを示します。
main()メソッドでは、isTimeFormatCorrect()メソッドをテストするために、2つのサンプルタイム文字列とタイムフォーマットパターンを使用しています。出力は、trueとfalseになります。タイム文字列やタイムフォーマットパターンは、自身のニーズに応じて変更できます。