Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: date commerciali

  1. #1

    date commerciali

    Salve gente.. dopo una ennesima ricerca non sono riuscito a trovare un metodo semplice per calcolare le date commerciali..

    Sommare le date con php non è difficile, l'unico problema è quando si ha a da calcolare per esempio i pagamenti..

    fare un pagamento a 60 giorni fine mese..

    se oggi è il 14/08/2007 la scadenza sara 31/10/2007

    Esiste un metodo pratico ? o bisogna fare una funzione che calcoli miriadi di if e else.. ?

    Grazie..

    Gestionale aziendale php ?
    Gestionale vendite php ?
    AGUA GEST semplice e pratico e gpl
    by www.grigomax.it
    AMD_64 / Mandriva2007

  2. #2
    che io sappia ti fai manina tutti i calcoli a meno che non converti la data in timestamp e ci lavorti così

  3. #3
    Ti conviene convertire in timestamp e fare così

    Codice PHP:
    //ora di oggi
    $now time();

    // numero di giorni per la scadenza
    $giorniScadenza 60;

    // per ottenere i giorni devo moltiplicare $giorniScadenza per 86400
    $scadenza $now $giorniScadenza*86400;

    echo 
    'Oggi: ' date('d/m/Y'$now);
    echo 
    '
    '
    ;
    echo 
    'Scadenza: ' date('d/m/Y'$scadenza); 

  4. #4
    Si pensavo anche io di lavorare con time stamp.. però, uno dei problemi è cacolare il fine mese..

    se oggi è il 16 con pagamento 60 giorni ma fine mese.... bisogna aggiungere 60 giorni alla data di oggi e poi aggiungere i giorni mancanti alla fine del mese..

    io pensavo di far così..

    usado i mesi.. 60 giorni sono 2 mesi.. per fare il fine mese aggiungo 3 mesi e tolgo un giorno...

    Che ne pensate.. ?
    Gestionale aziendale php ?
    Gestionale vendite php ?
    AGUA GEST semplice e pratico e gpl
    by www.grigomax.it
    AMD_64 / Mandriva2007

  5. #5
    Basta dare una occhiata al manuale per vedere che c'è una funzione che restituisce l'ultimo giorno del mese...

    http://www.php.net/manual/it/function.mktime.php

    Quindi:

    Codice PHP:
    //data unix fine del mese
    $fineMese mktime(000, (date('m')+1), 0date('Y'));

    // numero di giorni per la scadenza
    $giorniScadenza 60;

    // per ottenere i giorni devo moltiplicare $giorniScadenza per 86400
    $scadenza $fineMese $giorniScadenza*86400;

    echo 
    'Fine Mese: ' date('d/m/Y'$fineMese);
    echo 
    '
    '
    ;
    echo 
    'Scadenza: ' date('d/m/Y'$scadenza); 


  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    Re: date commerciali

    Originariamente inviato da grigomax
    Salve gente.. dopo una ennesima ricerca non sono riuscito a trovare un metodo semplice per calcolare le date commerciali..

    Sommare le date con php non è difficile, l'unico problema è quando si ha a da calcolare per esempio i pagamenti..

    fare un pagamento a 60 giorni fine mese..

    se oggi è il 14/08/2007 la scadenza sara 31/10/2007

    Esiste un metodo pratico ? o bisogna fare una funzione che calcoli miriadi di if e else.. ?

    Grazie..

    select last_day(campo_data + interval 2 month) as ultimo_mese
    from tabella

    per usare last_day devi avere mysql > 4.1.1

  7. #7
    Ciao.. ho provato a fare come dici te.. ma ecco il risultato..

    Fine Mese: 31/08/2007
    Scadenza: 29/10/2007

    io ho provato cosi.. che era la prima soluzione

    Codice PHP:

    // giorni scadenza
    $_giorni="60";

    //fine mese si o no
    $_fm "si";

    if(
    $_fm == "si")
        {
        
    //addendo post data
        //calcolo quanti mesi sono i giorni della scadenza e ne aggiungo uno
        
    $_mesi = ($_giorni 30) + 1;
        
    //tolgo alla data la data odierna
        
    $_addendo date("d");
        }
        else
        {
        
    // aggiungo il nulla
        
    $_mesi = ($_giorni 30);
        
    $_addendo "";
        }


    $_data date ("d-m-Y"mktime (0,0,0,date("m")+$_mesi,date("d")-$_addendo,date("y")));


    echo 
    $_data
    si è da diventare matti
    Gestionale aziendale php ?
    Gestionale vendite php ?
    AGUA GEST semplice e pratico e gpl
    by www.grigomax.it
    AMD_64 / Mandriva2007

  8. #8
    Perchè fai tutte queste operazioni?

    $_mesi = ($_giorni / 30) + 1;
    //tolgo alla data la data odierna
    $_addendo = date("d");


  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Codice PHP:
    function fineMese($data) {
    return 
    date('Y-m-t',strtotime("$data + 60 day"));
    }
    echo 
    fineMese('2007-08-14'); 

  10. #10
    utilizzando la tecnica di nicola75ss puoi fare anche così:

    Codice PHP:
    //data unix fine del mese
    $fineMese date('Y/m/d'mktime(000, (date('m')+1), 0date('Y')));

    // numero di giorni per la scadenza
    $giorniScadenza 60;
    $scadenza strtotime("$fineMese + $giorniScadenza day");

    echo 
    'Fine Mese: ' $fineMese;
    echo 
    '
    '
    ;
    echo 
    'Scadenza: ' date('d/m/Y'$scadenza); 

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.