Visualizzazione dei risultati da 1 a 5 su 5

Discussione: distanza di tempo

  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    distanza di tempo

    Tempo fa un utente molto gentile di questo forum mi ha dato questo codice

    Codice PHP:
    function duration($val)
    {
     
    $temp=array("anni"=>"y","mesi"=>"m","giorni"=>"d","ore"=>"H","minuti"=>"i","secondi"=>"s");
     
    $ret "";
     

     foreach(
    $temp as $chiave=>$valore)
     {
        
    $rif=mktime(1,1,1,1,1,2000);
        
    $calc = (date("$valore",$rif+$val)-date("$valore",$rif));
        if (
    $calc 0$ret .= $calc ." ".$chiave." ";
     }
     return 
    $ret;

    che data una data, mi ricavasse quanto mancava all'arrivo di quella data.

    ora xo mi sn accorto che questa funzione ha dei limiti, cioè che se io metto come argomento un numero del tipo: 7000000000, da il seguente errore:

    Warning: date() [function.date]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in C:\htdocs\xx\xx\function.php on line 14

    ora esiste un modo per far supportare quel genere di valore a 10 cifre?
    Se metto 2000000000 (corrisponde intorno il 2033) funge, oltre sballa...

    c'è un modo per migliorare la funzione?

  2. #2
    vedi se ti torna utile il datediff in firma.. il tuo problema pare sia legato al fatto che interpreta quel numero come una data antecedente il 1 gennaio del '70 cosa nn supportata su winzoz.. in tal caso nn credo siano possibili appezzottamenti.. mah


  3. #3
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    come al solito faccio pasticci... ripeto

    vedi se ti torna utile il datediff in firma.. il tuo problema pare sia legato al fatto che interpreta quel numero come una data antecedente il 1 gennaio del '70 cosa nn supportata su winzoz.. in tal caso nn credo siano possibili appezzottamenti.. mah

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  4. #4
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da luke83
    come al solito faccio pasticci... ripeto

    vedi se ti torna utile il datediff in firma.. il tuo problema pare sia legato al fatto che interpreta quel numero come una data antecedente il 1 gennaio del '70 cosa nn supportata su winzoz.. in tal caso nn credo siano possibili appezzottamenti.. mah

    visto ke la funzione è ua tua creazione, posso rikiedere una piccolissima modifica?

    a) è possibile che mostri solo i dati necessari? in quel modo mostra anche

    mancano 0 giorni, 0 ore, 3 minuti, 2 secondi

    è possibile togliere i campo non rikiesti (in questo caso giorni e ore)?

    grazie anticipatamente

  5. #5
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    certo..

    guarda funziona come la funzione date, quindi nel primo parametro passi la stringa con dentro quello che vuoi visualizzare...

    quindi nel tuo caso basta fare:

    Codice PHP:
    echo datediff("mancano %m min %s sec",mktime(1,1,1,1,1,2000),7000000000); 
    prova e fammi sapere se funge...

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

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.