date van D-M-Y to Y-M-D

    ICTscripters maakt gebruik van cookies. Door het gebruiken en browsen naar onze site gaat je automatisch akkoord met het gebruik van cookies. Klik hier voor meer informatie

    • date van D-M-Y to Y-M-D

      Beste leden,
      Ik zit met een klein probleem.
      De database slaat alles op als YYYY-MM-DD
      Maar ik wil als ik in een input 30-04-1992 invoer,
      dat hij het opslaat in de database als 1992-04-30
      Ik heb gegoogled, hier op het forum gezocht, maar kom er maar niet uit.
      Ik hoop dat me uitleg duidelijk genoeg is en dat jullie me kunnen helpen.
      Mvg. Jayson
    • Dit was letterlijk (met je titel) de eerste stackoverflow die ik tegen kwam:

      Source Code

      1. $var = "30-04-1992";
      2. echo date("Y-m-d", strtotime($var) );

      Var is dan je $_POST['iets'] en de echo is je input die je in de database wil opslaan. Dus in plaats van echo doe je $db_date of iets dergelijks:


      Source Code

      1. $db_date = date("Y-m-d", strtotime($var));
      strtotime — Parse about any English textual datetime description into a Unix timestamp
      date converteert dit vervolgens naar een leesbare datum (in de volgorde zoals je zelf aangeeft).
    • AarClay wrote:

      de invoer ook om te converteren naar YYYY-MM-DD?
      Als ik het oorspronkelijke bericht lees is dit volgens mij ook wat de topicstarter wil.


      AarClay wrote:

      DATE_FORMAT()
      Hierover verschillen de meningen, maar als er iets wijzigt in het formaat voor weergave van datums zou dit inhouden dat je queries zou moeten aanpassen. Hoe je iets presenteert zou zo dicht mogelijk bij de presentatielaag geregeld moeten worden, dus bij voorkeur in code boven gepriegel in de database.
    • FangorN wrote:

      AarClay wrote:

      de invoer ook om te converteren naar YYYY-MM-DD?
      Als ik het oorspronkelijke bericht lees is dit volgens mij ook wat de topicstarter wil.

      AarClay wrote:

      DATE_FORMAT()
      Hierover verschillen de meningen, maar als er iets wijzigt in het formaat voor weergave van datums zou dit inhouden dat je queries zou moeten aanpassen. Hoe je iets presenteert zou zo dicht mogelijk bij de presentatielaag geregeld moeten worden, dus bij voorkeur in code boven gepriegel in de database.
      Dan kan je er ook een configuratie-optie van maken. Dan hoef je geen queries aan te passen ;)
    • AarClay wrote:

      Dan kan je er ook een configuratie-optie van maken. Dan hoef je geen queries aan te passen
      Precies, en dan pas je dat formaat toe a.d.h.v. een PHP-functie, en niet in een placeholder in je queries, zodat het niet mogelijk is dat het foutief wijzigen van deze config variabele complete queries breekt en/of je site lamlegt.

      Als je dit wel zou doen - hoe zou je dit dan op security-gebied netjes regelen? Dan zou de validatie van de format-string wel heel erg streng moeten zijn. Escapen van deze format-string wordt wellicht ook problematisch als deze karakters bevat die binnen SQL betekenis hebben.

      Als je dit gewoon in PHP regelt is de impact ook veel beperkter als het format fout is, en heb je tevens voorgenoemde beslommeringen niet.