Vous recevez une chaîne d'entrée et un format de date souhaité. L'objectif est de déterminer si la chaîne correspond au format spécifié sans la convertir réellement en date.
Une approche de ce problème consiste à utiliser SimpleDateFormat pour analyser la chaîne en fonction du paramètre donné. format et en le comparant à la chaîne d'origine. S'ils ne sont pas égaux, le format n'est pas valide.
<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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!