Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    calcolo date problema febbraio 28 giorni

    ciao non mi funziona il calcolo delle date di febbraio, probabilmente perchè ha 28 giorni.
    Con gli altri mesi non ho problemi.

    <?php
    $data_attuale3 = date("Y-m-d");
    $ora_attuale3 = date("H:i:s");



    setlocale(LC_TIME, 'ita', 'it_IT');
    $mese_anno_attuale3 = strftime("%B %Y",strtotime("-1 month"));


    $anno_3 = date("Y",strtotime("-1 month"));
    $mese_3 = date("m",strtotime("-1 month"));
    ?>

  2. #2
    questo invece mi restituisce "02-03-2017", invece dovrebbe stampare "28-02-2017"

    echo date('d m Y',strtotime("-1 month"))." MENO 1 MESE<br>";

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Dacci alcuni esempi.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    guarda nella colonna di destra di questo sito, nel box ARCHIVIO NEWS, sotto i banner:
    http://www.livingadamis.com/index_ar...u=moda&id=8232

    non riesco a tirare fuori il mese di febbraio, non funziona "-1 month" credo perchè frebbraio ha 28 giorni
    Ultima modifica di multimedia2; 30-03-2017 a 13:10

  5. #5
    scrivete questo e vedrete che non uscirà febbraio ma continuerà ad uscire marzo

    echo date("Y-m-d", strtotime("-1 month"))." NUMERO MESE FEBBRAIO<br>";

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Leggi i commenti scritti sulla pagina della documentazione ufficiale, questa funzione in particolari condizioni non è affidabile.

  7. #7
    e quindi quale funzione bisognerebbe adottare?

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    se vuoi sapere l'ultimo giorno e di quanti giorni è composto un mese devi usare questa
    http://php.net/manual/en/function.cal-days-in-month.php
    poi fai tu la valutazione di come usarla

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non avrei mai immaginato un problema simile.

    Ti propongo questo. Non è un granché ma sembra funzionare.

    Codice PHP:
    <?php
    //--- Intervallo di 1 mese
    $intervallo = new DateInterval('P1M');
    $fine       date("Y-m-d");
    $dataFine   = new DateTime($fine);
    $inizio     = new DateTime($fine);
    $inizio     $inizio->sub($intervallo);
    //--- Intervallo di 1 giorno
    $intervallo2 = new DateInterval('P1D'); 
    // finché l'anno è il mese sono uguali
    while ($inizio->format('Y-m') == $dataFine->format('Y-m')) {
     
    // Data giorno precedente
     
    $inizio     $inizio->sub($intervallo2); 
    }
    print 
    $inizio->format('Y-m-d');
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Grazie, io ieri invece avevo risolto così, che ne dite?
    Codice PHP:
    setlocale(LC_TIME'ita''it_IT');

    $giorno_attuale2 date("d");

    function 
    getOffsetByMonths2($nMonths2$nNow2 0) {
    if (
    $nNow2)
    return 
    mktime(000date('n'$nNow2)+ $nMonths21date('Y'$nNow2));
    else
    return 
    mktime(000date('n')+ $nMonths2);
    }
    $nNow2 mktime(000date('m'), date('d'), date('Y'));
    $mese_anno_attuale2 strftime("%B %Y"getOffsetByMonths2(-1$nNow2));
    $mese_attuale2 date("m"getOffsetByMonths2(-1$nNow2));
    $anno_attuale2 date("Y"getOffsetByMonths2(-1$nNow2)); 

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.