Anda diberi rentetan input dan format tarikh yang dikehendaki. Matlamatnya adalah untuk menentukan sama ada rentetan itu sepadan dengan format yang ditentukan tanpa benar-benar menukarnya kepada tarikh.
Satu pendekatan untuk masalah ini melibatkan penggunaan SimpleDateFormat untuk menghuraikan rentetan mengikut yang diberikan format dan membandingkannya dengan rentetan asal. Jika mereka tidak sama, formatnya tidak sah.
<code class="java">import java.text.ParseException; import java.text.SimpleDateFormat; public class DateFormatterValidator { public static boolean isValidFormat(String format, String value) { try { SimpleDateFormat sdf = new SimpleDateFormat(format); Date date = sdf.parse(value); return value.equals(sdf.format(date)); } catch (ParseException ex) { return false; } } public static void main(String[] args) { String format = "dd/MM/yyyy"; String value1 = "20130925"; // Invalid String value2 = "25/09/2013"; // Valid System.out.println("isValidFormat(" + format + ", " + value1 + ") = " + isValidFormat(format, value1)); System.out.println("isValidFormat(" + format + ", " + value2 + ") = " + isValidFormat(format, value2)); } }</code>
isValidFormat(dd/MM/yyyy, 20130925) = false isValidFormat(dd/MM/yyyy, 25/09/2013) = true
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Pematuhan Format Tarikh String kepada Corak Diberi dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!