Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problemi con la data

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    problemi con la data

    ho uno strano problema con la funzione date;
    con questa stringa ($date = date("d-m-Y") mi creo una variabile che dovrebbe restituirmi la data con questa forma (30-09-2004), e che poi inserisco nel db insieme ad altri dati.
    controllando poi il db stesso, non soltanto il campo data contiene tutti i valori nella forma 2004-09-30, ma addirittura vengono fuori una serie di valori sballatissimi, del tipo (copia-incolla dal db!):
    2016-03-20
    2020-03-20
    2017-05-20
    2005-04-20
    2019-04-20
    La cosa strana è che, tutti questi valori 'sballati', hanno in comune il giorno, che è sempre 20...
    suggerimenti?
    thanx-in-advance

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    "DATE
    A date. The supported range is '1000-01-01' to '9999-12-31'. MySQL displays DATE values in 'YYYY-MM-DD' format, but allows you to assign values to DATE columns using either strings or numbers."
    http://dev.mysql.com/doc/mysql/en/Da...w.html#IDX1131
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    quindi, se utilizzo la codifica YYYY-MM-DD, non mi genererà quegli errori?

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    esatto
    think simple think ringo

  5. #5
    Marketto di ha detto come fare, io tento invece di spegarti il perche' lo fa. Esempio:

    30-09-2004 <--- data immessa

    2030-09-20 <--- data alterata memorizzata

    Poiche' si possono immettere le date in vari formati (cfr. la pillola ) la data che immetti viene cosi' valutata:

    30 <-- anno a due cifre
    09 <-- mese
    2004 <-- giorno - viene recepito 20 e considerato 04 eccedente ed omesso.

    Nel data base verra' convertita in yyyy-mm-dd e quindi:

    2030-09-20

    ecco perche' il 20 come giorno e' una costante, rappresenta le prime due cifre dell'anno 2004 che hai immesso.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.