Visualizzazione risultati 1 fino 5 di 5

Discussione: Convertire secondi in formato H:i:s

  1. #1
    Guest

    Predefinito Convertire secondi in formato H:i:s

    Ho un problema con gli orari...
    io ho un tempo di una gara, ad esempio un minuto e 26 secondi,
    solo che nel database la salvo in forma di secondi, e ora vorrei farla vedere sotto formato ora/minuti/secondi/centesimi

    ho provato con la funzione date() però non da il risultato che credevo,
    cioè lo prende come timestamp, ma è solo un numero di secondi, qhttp://forum.it.altervista.org/php-mysql-e-file-database/
    PHP, MySql e file databaseuindi se io gli dico 1000 secondi, lui mi stampa una data di chissa quanti anni fa perche la considera come data, mentre per me e solo un numero di secondi...

    Sul manuale ufficiale ho trovato solo funzioni che lavorano con timestamp, ne esiste una che converta semplicemente un numero di secondi in ora/minuti/secondi/centesimi? o devo crearmela io?

    Grazie

    P.S. se gentilmente qualche mod puo correggermi il titolo eheh... errore di battitura

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    <?php
    $tempo
    =1000;
    $ore=floor($tempo/3600);
    $tempo=$tempo%3600;
    $minuti=floor($tempo/60);
    $tempo=$tempo%60;
    $secondi=$tempo;

    echo
    $ore.":".$minuti.":".$secondi;
    ?>
    P.S.: Ho aggiunto la "i" nel titolo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool Visualizza messaggio
    Codice PHP:
    <?php
    $tempo
    =1000;
    $ore=floor($tempo/3600);
    $tempo=$tempo%3600;
    $minuti=floor($tempo/60);
    $tempo=$tempo%60;
    $secondi=$tempo;

    echo
    $ore.":".$minuti.":".$secondi;
    ?>
    P.S.: Ho aggiunto la "i" nel titolo.
    ho un piccolo problema, nel tuo script quando i secondi sono 4 invece di uscire 00.00.04 esce 00.00.4
    Come posso risolvere? per il resto è a posto!

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    puoi usare str_pad() per aggiungere gli zeri mancanti

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    puoi usare str_pad() per aggiungere gli zeri mancanti
    Ok ho fatto cosi, nel caso servisse a qualcuno:

    Codice PHP:
    function creatempo($int)
    {
    $ore=floor($int/3600000);
    $int=$int%3600000;
    $minuti=floor($int/60000);
    $int=$int%60000;
    $secondi=floor($int/1000);
    $int=$int%1000;
    $centesimi=floor($int/10);
    return
    str_pad($ore,2,'0').":".str_pad($minuti,2,'0').":".str_pad($secondi,2,'0').":".str_pad($centesimi,2,'0');
    }

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •