Frage:
Entwickeln Sie eine Java-Methode zur Validierung, ob eine vom Benutzer eingegebene Zeichenfolge mit einem bestimmten Datumsformat übereinstimmt, wobei sowohl Nur-Datums- als auch Datums-/Uhrzeitformate berücksichtigt werden.
Lösung:
Nach der Bewertung verschiedener Ansätze, Wir haben uns für die Verwendung der SimpleDateFormat-Klasse entschieden. Hier ist die detaillierte Implementierung:
<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>
Verwendung:
Übergeben Sie das erforderliche Datumsformat als erstes Argument und die Eingabezeichenfolge als zweites Argument an die Methode isValidFormat. Die Methode gibt einen booleschen Wert zurück, der angibt, ob die Eingabezeichenfolge dem angegebenen Format entspricht.
Beispielausgabe:
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
Das obige ist der detaillierte Inhalt vonWie validiere ich eine Datumszeichenfolge anhand eines bestimmten Formats in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!