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

    Rebus - Perchè la differenza di 2 TimeStamp mi da sempre 1 ora?

    Ciao a tutti...

    sto facendo un sito di annunci per segnalare tramite iphone i posti di blocco della polizia... un' esperimento diciamo.

    Ho la necessità di fare la differenza tra 'ora inserimento annuncio' e 'ora attuale' per mostrare un' annuncio del tipo

    [SEGNALAZIONE] Inserita 20 minuti fa

    Cosi mi sono inventato questa banalità che funziona, ma mi da SEMPRE almeno 1 ora. Io credo che dipenda dal sistema impostato con l' orario americano 01.00-12.00 am./pm. che non mi riconosce lo 00.00

    Ma come posso fare? Avete qualche idea?

    Ecco lo script, grazie infinite.

    <?php
    //Le mie 2 date in formato timestamp
    $ora_segnalazione='1283898054';
    $now=time();

    //Il calcolo della differenza
    $ora_inserimento=strftime("%H:%M", ($now-$ora_segnalazione));

    //La stampa a video
    echo "Segnalato ".$ora_inserimento." minuti fa"; ?>

  2. #2
    perche' il risultato della sottrazione non e' piu' una data ma un numero di secondi. Se fossimo durante il periodo dell'ora solare avresti + 2 ore. Andrebbe bene solo con il time zone GMT

    prova con:

    Codice PHP:
    $diff $now $ora_segnalazione;
     
    $tempo floor($diff / (60*60)).":".(($diff 60) % 60);

    //La stampa a video
    echo "Segnalato [b]".$tempo."[/b] minuti fa"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Sei grande...

    Mi sembra il modo più semplice piuttosto che quei mille script che ho trovato in giro...

    Grazie davvero, sono alle prime armi e tra php e aritmetica avevo proprio bisogno di una svegliata.
    ------------------------
    Per tutti posto lo script completo che divide anche l' ORA e i MINUTI così da postare l' ora solo nel caso che sia necessaria

    ciao!

  4. #4
    ////////////////////CALCOLA DIFFERENZA ESPRESSA IN TEMPO////////////////////////////

    //Calcolo la differenza tra ORA e L' ORA DI INSERIMENTO
    $ora_segnalazione='1283922465';
    $now=time();

    //Faccio La differenza per ottenere il numero dei secondi e convertirli in data
    $diff = $now - $ora_segnalazione;
    $ore = floor($diff / (60*60));
    $minuti = floor(($diff / 60) % 60);

    //STAMPO A VIDEO
    //Se ore è >0 stampo anche le ore
    if ($ore>0){
    echo "Segnalato ".$ore." ore e ".$minuti." minuti fa";
    } else
    echo "Segnalato ".$minuti." minuti fa";

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.