Java では、SimpleDateFormat は、ロケールに依存した方法で日付の書式設定と解析を行う具象クラスです。書式設定 (日付 -> テキスト)、解析 (テキスト -> 日付)、および正規化が可能であるため、日付が正当であるかどうかの判断もこれに基づいています。
import java.text.SimpleDateFormat; class Main { public static void main(String[] args) { String str1="2000-1-1"; String str2="2000-1-32"; System.out.println(check(str1)); System.out.println(check(str2)); } static boolean check (String str) { SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");//括号内为日期格式,y代表年份,M代表年份中的月份(为避免与小时中的分钟数m冲突,此处用M),d代表月份中的天数 try { sd.setLenient(false);//此处指定日期/时间解析是否不严格,在true是不严格,false时为严格 sd.parse(str);//从给定字符串的开始解析文本,以生成一个日期 } catch (Exception e) { return false; } return true; } }
Java では、最初に SimpleDateFormat を使用して日付形式を指定し、次に setLenien(false) メソッドを使用して日付を厳密に解析し、例外がスローされるかどうかをチェックして日付が正当であるかどうかを判断できます。 。
setLenien:
SimpleDateFormat.setLenient(true): デフォルト値は true です。日付は厳密には解析されず、自動的に計算されます。
SimpleDateFormat.setLenient(false): 日付を厳密に解析します。日付が修飾されていない場合、例外がスローされ、自動的に計算されません。
Java についてさらに詳しく知りたい場合は、Java 基本チュートリアル 列に注目してください。
以上がJava は日付が正当かどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。