Visualizzazione dei risultati da 1 a 5 su 5

Discussione: calcolo con le date

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    calcolo con le date

    Sto effettuando dei calcoli con le date, ma ho un problema con gli anni bisestili.

    Come trovo il numero esatto dei giorni di un determinato anno?

    365 o 366

  2. #2
    Utente di HTML.it L'avatar di puja
    Registrato dal
    May 2013
    Messaggi
    46
    Ciao!

    Se l'anno contiene il 29 febbraio ha 366 giorni.

    Prova così:

    Codice PHP:
    function AnnoBisestile($anno){ if(checkdate(2,29,$anno)){ return $anno.' ha 366 giorni'; }else{ return $anno.' ha 365 giorni'; } } 
    checkdate()

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Con mktime() trasformi le date in timestamp, fai la differenza tra i due timestamp ed hai i secondi trascorsi tra le due date, a questo punto basta che dividi i secondi ottenuti per 86400, la parte intera del numero che ottieni sono i giorni di differenza.

  4. #4
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    ho fatto cosi

    Codice PHP:
    public function calcDayYear($yearSucc$yearIni) {
        
            
    $dataIni strtotime(date("Y-m-d"mktime(0,0,0,1,1,$yearIni)));
            
    $dataSucc strtotime(date("Y-m-d"mktime(0,0,0,1,1,$yearSucc)));
        
            return ((
    $dataSucc-$dataIni)/86400);
        
        } 
    dove $yearSucc e $yearIni sono nel formato yyyy cioè 2001 o 2005 etc

    si può migliorare?

  5. #5

    Re: calcolo con le date

    Originariamente inviato da torrone
    Come trovo il numero esatto dei giorni di un determinato anno?

    365 o 366
    Puoi utilizzare la funzione checkdate()

    Codice PHP:
    function controlloBisestile($anno) {
        return (
    checkdate(229$anno)) ? true false;

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.