Question :
Développer un Méthode Java pour valider si une chaîne saisie par l'utilisateur correspond à un format de date spécifié, en considérant à la fois les formats date uniquement et datetime.
Solution :
Après avoir évalué diverses approches, nous avons décidé d'utiliser la classe SimpleDateFormat. Voici l'implémentation détaillée :
<code class="java">import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatter { public static boolean isValidFormat(String format, String value) { Date date = null; SimpleDateFormat sdf = new SimpleDateFormat(format); try { date = sdf.parse(value); if (!value.equals(sdf.format(date))) { date = null; } } catch (ParseException e) { // Date parsing failed } return date != null; } public static void main(String[] args) { System.out.println("isValid - dd/MM/yyyy with 20130925 = " + isValidFormat("dd/MM/yyyy", "20130925")); System.out.println("isValid - dd/MM/yyyy with 25/09/2013 = " + isValidFormat("dd/MM/yyyy", "25/09/2013")); System.out.println("isValid - dd/MM/yyyy with 25/09/2013 12:13:50 = " + isValidFormat("dd/MM/yyyy", "25/09/2013 12:13:50")); System.out.println("isValid - yyyy-MM-dd with 2017-18--15 = " + isValidFormat("yyyy-MM-dd", "2017-18--15")); } }</code>
Utilisation :
Transmettez le format de date requis comme premier argument et la chaîne d'entrée comme deuxième argument à la méthode isValidFormat. La méthode renvoie une valeur booléenne indiquant si la chaîne d'entrée correspond au format spécifié.
Exemple de sortie :
isValid - dd/MM/yyyy with 20130925 = false isValid - dd/MM/yyyy with 25/09/2013 = true isValid - dd/MM/yyyy with 25/09/2013 12:13:50 = false isValid - yyyy-MM-dd with 2017-18--15 = false
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!