Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    PHP - Ancora problemi con le date

    Ciao

    ieri avevo un problema con le date. Ora riapro un altro POST xché il problema è un altro. Spero che il moderatore non mi cazzi.
    Il giorno dopo la Domenica, per il php, sembra essere il martedi.
    Vi riporto quello che ottengo. Ho messo i giorni in italiano anche se in realta li vedo in inglese.
    Ho scritto il codice in modo che restituisca qualcosa del tipo:

    Oggi è Sabato 14/05/2005 domani è domenica 15/05/2005
    Oggi è Domenica 15/05/ 2005 domani è Lunedi 16/05/2005


    in realta io ottengo

    Oggi è Sabato 14/05/2005 domani è domenica 15/05/2005
    Oggi è Domenica 15/05/ 2005 domani è Martedi 16/05/2005

    Cioè la data è corretta ma e' sbagliato il GIORNO



    Ecco uno STRALCIO del codice che uso:
    $data = date("d-m-Y");

    $timestamp = strtotime($data) ;
    echo "festivo: ". date("D",$timestamp) ." $data";

    $giorno_dopo = crea_calendario($data);

    $timestamp = strtotime($giorno_dopo) ;
    echo " giorno dopo:" . date("D",$timestamp) ." $giorno_dopo

    ";

    echo "sono nei festivi, oggi è ". date("D",$data). " $data domani è: ".date("D",$giorno_dopo)." $giorno_dopo
    ";


    function crea_calendario($adesso) // crea il giorno domani da oggi
    {

    list($giorno,$mese,$anno) = explode("-",$adesso);
    $domani=date ("d-m-Y" ,mktime(0,0,0,date($mese),$giorno+1,$anno));
    return $domani;

    }
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Sinceramente non capisco il tuo script, che utilizza prima date, poi strtotime (che ti restituisce il timestamp) ecc ecc..

    Io farei così:
    Codice PHP:
    $adessotime();     //restituisce il timestamp di oggi
    $dataOggi=strftime("Oggi è %A %d/%m/%Y"$adesso);

    /* A questo punto calcoliamo domani che sarebbe il time stamp  
     * di oggi più 24 ore, essendo il time stamp il numero 
     * di secondi, 24H = 90.000 secondi */

    $domani=$adesso 90000;
    $dataDomani=strftime("Domani sarà %A %d/%m/%Y"$domani);

    echo 
    "{$dataOggi} {$dataDomani}"
    Chiaramente questo ti darà il giorno in inglese, per cambiarlo in italiano vedi tu come ti risulta più facile...

    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    scusa se rispondo solo ora. Ok provo a fare cosi al massimo ti contatto di nuovo.

    Grazie
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

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.