Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    dateformat di una variabile

    Ciao a tutti, ho un problema a formattare la data presa da una richiesta ajax, in modo da poter essere utilizzata per una query.
    Io ho scritto questo codice:
    Codice PHP:
    $s_date=$_GET["s_date"];
    echo 
    date_format(($s_date), 'Y-m-d H:i:s'); 
    nella variabile s_date è contenuta la data espressa come: gg/mm/aaaa e la vorrei aaaa/mm/gg
    ore:minuti:secondi
    ma purtroppo non funziona.
    Qualcuno saprebbe darmi qualche consiglio?
    Destinato alla gioia, l'uomo si nutre di noia

  2. #2
    Non ho mai utilizzato la date_format, ma nell'eventualità puoi fare manualmente così:

    Codice PHP:
    $new_date array_reverse(explode("/",$s_date)) 

  3. #3
    ho provato così ma non funziona:
    Codice PHP:
    $s_date=$_GET["s_date"];
    $data1 DateTime::createFormFormat('d-m-Y H:i:s');
    echo 
    $data1->format($s_date); 
    e poi così:

    Codice PHP:
    echo $new_date =(explode("-",$s_date)); 
    e non mi va in nessuno dei modi!
    Destinato alla gioia, l'uomo si nutre di noia

  4. #4
    Originariamente inviato da unkus_nob
    ho provato così ma non funziona:
    Codice PHP:
    $s_date=$_GET["s_date"];
    $data1 DateTime::createFormFormat('d-m-Y H:i:s');
    echo 
    $data1->format($s_date); 
    e poi così:

    Codice PHP:
    echo $new_date =(explode("-",$s_date)); 
    e non mi va in nessuno dei modi!
    Lo credo te ne manca un pezzo ...

    Codice PHP:
    echo $new_date array_reverse(explode("-",$s_date)); 
    Se non metti array reverse non ti inverte i valori della data! Sempre che sia nel formato che hai detto gg-mm-aaaa!
    E' importante il delimitatore e il fatto che non ci siano altri valori nella stringa!

  5. #5
    non mi funziona neanche inserendo array_reverse.
    Come valore mi ritorna "Array"
    Destinato alla gioia, l'uomo si nutre di noia

  6. #6
    Codice PHP:
    $new_date implode("-",array_reverse(explode("-",$s_date))); 
    Ti avevo lasciato l'ultima parte da completare...
    Se non hai molte conoscenze di php al momento di consiglio di evitare le classi!

    Ora dovrebbe tornarti la stringa con la data girata!

  7. #7
    si hai ragione ora funziona!
    Grazie mille!
    in effetti non ho molta dimestichezza....ma piano piano le stò imparando
    Cercavo prima di tutto, di creare un date format....perchè necessito di avere la data nel format Y-mm-D H:i:s, questa che mi hai gentilmente indicato tu è la seconda scelta, perchè comunque il mio problema di avere un dateformat mi rimane
    Destinato alla gioia, l'uomo si nutre di noia

  8. #8
    Consiglio: impara ad utilizzare php.net (è come la bibbia)

    Per usare il date format fai semplicemente così (http://php.net/manual/en/datetime.format.php ):

    Codice PHP:
    <?php 

    $s_date
    =$_GET["s_date"]; 

    $date = new DateTime($s_date); 
    echo 
    $date->format('Y-m-d'); 

    $date date_create($s_date);
     echo 
    date_format($date'Y-m-d');
    ?>
    entrambi i modi funzionano ugualmente... vedi tu...

  9. #9
    Originariamente inviato da raven74
    non credo funzionerebbe perché new datetime si aspetta che la data sia nella forma yyyy-mm-dd
    No no, funziona! Sennò non servirebbe a nulla...

    Codice PHP:
    <?php 
    $date 
    = new DateTime('01-12-2010');
    echo 
    $date->format('Y-m-d'); 
    // ritorna 2010-12-01

    $date date_create('01-01-2000');
    echo 
    date_format($date'Y-m-d');
    // ritorna 2000-01-01
    ?>
    bisogna vedere anche la versione php installata la funzione è supportata dopo la versione (PHP 5 >= 5.2.0)

  10. #10
    Originariamente inviato da raven74
    Sì, ma lui ha lo slash che divide i numeri, non il meno.
    A parte che prima ha indicato slash (/) e poi il meno (-) ... Comunque non cambia nulla...
    E' lasciato apposta una stringa per customizzare il tipo... può anche metterci gli asterischi, cancelletti, etc ...

    Codice PHP:
    <?php
    $date 
    = new DateTime('01/12/2010');
    echo 
    $date->format('Y/m/d');
    // ritorna 2010/12/01 

    $date date_create('01/01/2000'); 
    echo 
    date_format($date'Y/m/d'); 
    // ritorna 2000/01/01
    ?>

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.