Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [PHP] calcolo data

  1. #1
    Utente bannato
    Registrato dal
    Jan 2004
    Messaggi
    110

    [PHP] calcolo data

    salve!

    devo calcolare e formattare la data (anno-mese-giorno) che sarà 7 giorni dopo l'esecuzione dello script.
    ecco quello che ho scritto:

    ------------------------------------------------------------
    $oggi_sec = mktime(0,0,0,date('m'),date('d'),date('Y')) ;

    $data_piu_7giorni = $oggi_sec + 604800 ;

    $data_start = date('Y-m-d',$data_piu_7giorni) ;
    ------------------------------------------------------------

    604800 è il risultato dell'operazione 60*60*24*7, ossia l'intervallo di 7 giorni in secondi.

    se lancio queste istruzioni oggi il risultato è 2004-11-04, invece io voglio che sia esattamente venerdì prossimo (cioè 2004-11-05)! ovviamente se sommo 8 giorni mi da il risultato esatto, ma non capisco perchè!!

    un paradosso matematico o la riprova che non capisco niente di matematica?

    vi prego se no stanotte non ci dormo...

  2. #2
    Utente bannato
    Registrato dal
    Jan 2004
    Messaggi
    110

    ...

    risolto!

    in mancanza di un orario nella funzione mktime il codice considererà anche l'oggi come giorno valido per il conteggio.

    scusate, ci stavo a ragionare da un pò ed ho capito poco dopo aver postato.

    bye...

  3. #3
    io l'ho rifatta cosi' e mi viene corretta:

    <?
    $oggi_sec = time();
    $data_piu_7giorni = $oggi_sec + 604800 ;
    $data_start = date('Y-m-d',$data_piu_7giorni) ;
    echo $oggi_sec . "-" . $data_piu_7giorni . "-" . $data_start;
    ?>
    www.vrbe.org - gioco di ruolo e chat basato sull' Antica Roma
    www.andreapancotti.com

  4. #4

    codice:
    $oggi_sec = mktime(0,0,0,date('m'),date('d') + 7, date('Y')) ;
    Cosi' no vero? troppo facile e capiscono tutti...


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

  5. #5
    Utente bannato
    Registrato dal
    Jan 2004
    Messaggi
    110

    ...

    scusa se la mia intelligenza non arriva a tanto...

  6. #6

    Re: ...

    Originariamente inviato da aeterna
    scusa se la mia intelligenza non arriva a tanto...
    Oggi e' la giornata dei morti in advance.... La mia risposta era riferita ad entrambi, per il modo complicato che avete di risolvere cose semplici, non un insulto. L'interpretazione e' solo tua. Non mi sono mai permesso di essere presuntuoso ne di imporre il mio modo di vedere.

    Ma tant'e'... ognuno misura con il proprio metro. Scusa se ti senti offeso.


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

  7. #7
    Utente bannato
    Registrato dal
    Jan 2004
    Messaggi
    110

    ...

    figurati se mi offendo per questo! forse era meglio che mettevo una faccina fagiana. il fatto è che non sopporto chi ostenta le proprie conoscenze nei forum, elevandosi arrogantemente sopra quelli che sanno meno di loro. la tua risposta mi aveva dato questa impressione ma ora è ovvio che non è così.

    grazie mille per la soluzione sintetica e scusa per averti irritato.

    grazie mille anche a vrbe.org.

  8. #8
    ottima scelta perio.mac, cosi' risolvi il problema ed e' anche un bel esercizio di stile, ma senza senso nel contesto.
    io pensavo solo a mettere in quadro il suo codice, se ha deciso quella strada avra' avuto un suo perche', no? magari i +7gg sono solo per capire il meccanismo, in realta' nel codice lo implementera' con 6giorni, 14 ore, 10 minuti e 3 secondi.
    oppure sara' un valore variabile, chi lo sa?
    www.vrbe.org - gioco di ruolo e chat basato sull' Antica Roma
    www.andreapancotti.com

  9. #9
    Diciamo anche altro allora, visto che siete ricettivi ....

    Se la data e' nel database nel formato yyyy-mm-dd esiste la possibilita' di gestire il tutto tramite mysql, risparmiando codice ed elaborazione al php. Se per caso dovesse servire per aggiornare un campo di scadenza si potrebbe fare:

    UPDATE tabella SET data_scadenza = CURDATE() + interval 7 day
    where id = '$id';

    Ovviamente va messa la condizione where altrimenti ti aggiorna a quel modo tutta la tabella.



    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.