Visualizzazione dei risultati da 1 a 6 su 6

Discussione: date da convertire

  1. #1

    date da convertire

    Salve gente!

    Ho un file di testo con tante date in questo formato

    GG-MM-AAAA

    e vorrei modificarle in

    AAAA-MM-GG

    per memorizzarle in un campo DATE di un DB MySql.

    1) i campi DATE accettano il formato AAAA-MM-GG (cioè con trattino anziché /)?

    2) avete codice già pronto per fare quella sostituzione? Serve un'espressione regolare? Come deve essere fatta?

    Grazie in anticipo.
    Make Pazziata-tàààà NOT war!

  2. #2
    function ConvDate($date) {
    if ( ereg ("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $it_date) ) {
    echo $it_date[3].'/'.$it_date[2].'/'.$it_date[1];
    } else {
    echo 'La data da te inserita non è valida';
    }
    }
    Che le ali della libertà non perdano mai le piume...

    Gesù salva, Buddha fa backups incrementali.

  3. #3
    Grazie!

    Forse, però, c'è una piccola correzione da fare perché le date che io passo sono in formato:

    GG-MM-AAAA

    cioè 2cifre-2cifre-4cifre

    quindi il codice, secondo me, dovrebbe essere:



    codice:
    function ConvDate($date) {
    if ( ereg ("([0-9]{2})-([0-9]{2})-([0-9]{4})", $date, $it_date) ) {
    $data_da_inserire_nel_campo_date =  $it_date[3].'/'.$it_date[2].'/'.$it_date[1];
    } else {
    echo 'La data da te inserita non è valida';
    }
    }
    Ancora grazie.

    E la domanda n° 1?
    Make Pazziata-tàààà NOT war!

  4. #4
    La domanda 1...

    Il campo DATE utilizza solo i trattini, ma mysql e' in grado di interpretare qualsiasi separatore di data e che poi verra' trasformato in - nel db.

    Per trasformare una data (girarla) puoi anche usare list ed explode senza scomodare le espressioni regolari...
    codice:
          $data = '26/06/2000';
          list($giorno, $mese, $anno) = explode('/', $data);
          $new_data = $anno."-".$mese."-".$giorno;

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

  5. #5
    Grazie per il chiarimento sul punto 1.
    Mi sa che lascerò le date con i trattini (così come sono attualmente) limitandomi a scriverle nel modo AAAA-MM-GG.

    Ehm... forse mi servono le espressioni regolari perché vorrei applicare la funzione ConvDate una sola volta alla stringa contenente TUTTO il file di testo in cui sono presenti le varie date in formato GG-MM-AAAA.
    Secondo voi è una buona idea?
    Funzionerà?
    (il file non è molto grande).

    Grazie,
    Ciao
    Make Pazziata-tàààà NOT war!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    141
    ho scritto così:
    $datanascita = ConvDate($data_nascita);
    echo $datanascita;
    .
    .
    .
    function ConvDate($date)
    {
    if ( ereg ("([0-9]{2})-([0-9]{2})-([0-9]{4})", $date, $it_date) )
    {
    $datanascita = $it_date[3].'/'.$it_date[2].'/'.$it_date[1];
    }
    else
    {
    echo 'La data da te inserita non è valida';
    }
    return $datanascita;
    }

    però echo $datanascita non mi stampa nulla,come mai?

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.