Hi,
Ein User kriegt bei mir die Chance, ein Datum einzugeben. Der Tag.Monat darf ein- oder zweistellig eingegeben werden, zb. 01.01. oder 1.1.
Im selben Format will ich das wieder ausgeben
Warum?
Tja, ich verrate ja nicht gerne alle meine Tricks, aber weil Du's bist:
Es geht mir um die Prüfung, ob ein eingegebenes Datum gültig ist. Beispiel:
User gibt ein:
"1.1.1999"
Dieses Datum rechne ich nach einem bestimmten Schema um in einen numerischen Wert und dann zurück. Im Ergebnis habe ich "1.1.1999" was eq zur Eingabe ist (gültig).
Nun gibt der User jedoch ein:
"01.01.1999"
Sofern ich das nicht berücksichtige, dass da führende Nullen im Spiel sind, ist mein String "1.1.1999" nicht derselbe. Daher muss ich bei dieser Art der Prüfung _dasselbe_ Format verwenden.
Vereinheitlichen von Angaben fördert doch im allgemeinen die Übersichtlichkeit.
Freilich. Bei IP-Adressen verfahre ich genauso (umrechnen und zurückrechnen), da klappt das prima, weil kein Mensch auf die Idee kommt, statt 192.168.0.1 192.168.000.001 zu schreiben.
mit printf(). Gibt es eine Möglichkeit den Platzhalter "%02d" variabel zu machen?
Da der erste Parameter nur ein Textstring ist, kannst du in diesem gerne dynamisch einen Platzhalter/eine Formatangabe setzen.
Jetzt bist Du dran: Mitm Beispiel.
Hotte