Rolf B: input type="date" und SQL in Chrome tt.mm.jjjj

Beitrag lesen

Hallo PHP-Neuling,

Wo habe ich denn den Denkfehler?

Um das nochmal aufzugreifen:

  • Der value-String eines input type="date" ist immer "YYYY.MM.DD", also ISO Format.
  • Der dargestellte String, für den User, ist davon unabhängig und wird basierend auf dem locale des Users angezeigt. D.h. ein US-Anwender sieht mm/dd/yyyy. Und das beeinflusst Du in einem type="date" nicht.
  • Das bedeutet auch, dass es zu Diskrepanzen kommen kann, wenn Du ein Datum am Server in einen String konvertierst. Du musst das locale des Anwenders kennen, um deine Dates so zu formatieren wie es der Browser des Anwenders im date-Feld tut. Dazu kann man den Accept-Language Header verwenden, den der Browser schickt, aber es kann eben auch schiefgehen. Ein HTML Element <output type="date"> wäre dafür hilfreich, aber das gibt's nicht.
  • In einer Datenbank sollte ein Datums-Attribut als DATE gespeichert werden, nicht als String.

Rolf

--
sumpsi - posui - obstruxi