Visualizzazione dei risultati da 1 a 10 su 10

Discussione: cambiare data

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471

    cambiare data

    dovrei cambiare data alla variabile $pubdate, da questo formato:
    Mon, 10 Sep 2007 23:22:00 +0000

    a questo formato:
    10/09/07 (con la sola data senza + l'ora)

    in pratica la variabile mi arriva tramite rss, la devo solo pubblicare in maniera + "leggibile"

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

  3. #3
    niente di più facile, eccoti il codice
    Codice PHP:
    <?php
    $pubdate 
    "Mon, 09 Sep 2007 23:22:00 +0000";
    $pieces explode(" ",$pubdate);
    $day $pieces[1];
    $month $pieces[2];
    if(
    $month == "Jan") { $month="01"; }
    if(
    $month == "Feb") { $month="02"; }
    if(
    $month == "Mar") { $month="03"; }
    if(
    $month == "Apr") { $month="04"; }
    if(
    $month == "May") { $month="05"; }
    if(
    $month == "Jun") { $month="06"; }
    if(
    $month == "Jul") { $month="07"; }
    if(
    $month == "Aug") { $month="08"; }
    if(
    $month == "Sep") { $month="09"; }
    if(
    $month == "Oct") { $month="10"; }
    if(
    $month == "Nov") { $month="11"; }
    if(
    $month == "Dec") { $month="12"; }
    $year $pieces[3];
    $new_date $day."/".$month."/".$year;
    ?>
    naturalmente in $pubdate ho lasciato come valore la data dell'esempio da te proposto, poi lo script fara' il resto e ti dara' la nuova data correttamente formattata nella variabile $new_date
    ciao ciao
    Falc©NET
    __________________
    http://falco.ilbello.com - Il Mio Sito Personale
    http://bandalarga.ilbello.com - Monitoraggio Della Banda Larga Italiana

  4. #4
    Originariamente inviato da marketto
    puoi usare questa funzione:
    http://it.php.net/manual/it/function.strtotime.php
    Utilizzando strtotime trasforma la data in timestamp (e successivamente la riformatta con [b]date[]) ma ci sarebbe sempre la questione che la data non sia nell'intervallo della famosa epoca unix
    invece quello descritto sopra e' un modo "terra-terra" per suddividere la data negli spazi incapsulando i 6 risultati in un array per successivamente rielaborarlo a proprio piacimento
    Falc©NET
    __________________
    http://falco.ilbello.com - Il Mio Sito Personale
    http://bandalarga.ilbello.com - Monitoraggio Della Banda Larga Italiana

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    Originariamente inviato da falconet
    Utilizzando strtotime trasforma la data in timestamp (e successivamente la riformatta con [b]date[]) ma ci sarebbe sempre la questione che la data non sia nell'intervallo della famosa epoca unix
    invece quello descritto sopra e' un modo "terra-terra" per suddividere la data negli spazi incapsulando i 6 risultati in un array per successivamente rielaborarlo a proprio piacimento
    grandissimo falconet, proprio quello che cercavo, grazie tantissimo


  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da falconet
    Utilizzando strtotime trasforma la data in timestamp (e successivamente la riformatta con [b]date[]) ma ci sarebbe sempre la questione che la data non sia nell'intervallo della famosa epoca unix
    invece quello descritto sopra e' un modo "terra-terra" per suddividere la data negli spazi incapsulando i 6 risultati in un array per successivamente rielaborarlo a proprio piacimento
    "Nota: L'intervallo valido di un timestamp è normalmente da Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Queste sono le date ce corrispondono al minimo e al massimo valore per un intero segnato a 32 bit.)"


    pensavo un secolo bastasse, e invece



    think simple think ringo

  7. #7
    Originariamente inviato da marketto
    "Nota: L'intervallo valido di un timestamp è normalmente da Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Queste sono le date ce corrispondono al minimo e al massimo valore per un intero segnato a 32 bit.)"

    pensavo un secolo bastasse, e invece

    Pero' prima del 01-01-1970 00:00:00 i valori del unix timestamp sono negativi.... e non tutti gli OS supportano i valori negativi del timestamp. Sempreche' windows sia un OS sarebbe gia' uno di quelli.





    @ edit ... tra l'altro ci sono un frego di nuove funzioni temporali con il php > 5.1. Varrebbe la spesa farci un po' di prove

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

  8. #8
    Originariamente inviato da piero.mac

    @ edit ... tra l'altro ci sono un frego di nuove funzioni temporali con il php > 5.1. Varrebbe la spesa farci un po' di prove
    ma il timestamp e' sempre limitato ? chissa se un giorno magari quando si avvicineranno al 2038 faranno qualcosa
    domandona : non esiste "qualcosa" (escamotage) per illimitare le date ?
    Falc©NET
    __________________
    http://falco.ilbello.com - Il Mio Sito Personale
    http://bandalarga.ilbello.com - Monitoraggio Della Banda Larga Italiana

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da piero.mac
    Pero' prima del 01-01-1970 00:00:00 i valori del unix timestamp sono negativi.... e non tutti gli OS supportano i valori negativi del timestamp. Sempreche' windows sia un OS sarebbe gia' uno di quelli.



    parlando di articoli pubblicati su feed rss, dubito siano più vecchi di quell'anno
    think simple think ringo

  10. #10
    Originariamente inviato da marketto
    parlando di articoli pubblicati su feed rss, dubito siano più vecchi di quell'anno
    anche se fai l'anagrafe per i bimbi dell'asilo. Per esempio io non potrei iscrivermi se il tipo usasse windows ....

    Originariamente inviato da falconet
    ma il timestamp e' sempre limitato ? chissa se un giorno magari quando si avvicineranno al 2038 faranno qualcosa
    domandona : non esiste "qualcosa" (escamotage) per illimitare le date ?
    Faranno le stesse cose che sono state fatte per il Y2K... spostare in avanti il range, oppure passare a 64 bit.... il problema e' nella conta dei secondi.

    con 32 bit (4 byte) SIGNED vai da -2147483648 a +2147483647

    se si contassero solo i minuti..... hai voglia di aspettare che finisca il range.

    Vuoi fare "qualcosa" di illimitato? non usare il timestamp. per esempio un campo DATETIME di mysql gestisce un range che oscilla tra 1000-01-01 00:00:00 e 9999-12-31 23:59:59





    @edit ... corretto il quote....

    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.