2011-05-19 11 views

Respuesta

23

Otra forma - sin todos los cálculos y, en mi opinión, se lee mejor.

$hour_ago = strtotime('-1 hour'); 
11
$livetime = time() - 3600; // 3600 seconds in 1 hour : 60 seconds (1 min) * 60 (minutes in hour) 

Ver time función de PHP para más información.

+0

Batirme con eso. +1 – MitMaro

+0

Micro-optimización, 'time() - 3600'. La multiplicación es costosa. –

+0

:) Escribí 60 * 60 porque eso tendría más sentido para OP, supongo. Probablemente sea mejor moverlo para comentar. – Nemoden

0

Suponiendo que una marca de tiempo lo permite se puede utilizar la función time al igual que

<?php 
$livetime = time() - 60 * 60; 
0

Aquí van:

<?php 

$now = time(); 
echo strftime("%c",$now) . "\n"; 
$livetime = $now-3600; 
echo strftime("%c",$livetime) . "\n"; 
?> 
18

Si usted está buscando la manera de mostrar la hora en un formato legible por humanos, estos ejemplos ayudarán:

$livetime = date('H:i:s', time() - 3600); // 16:00:00 
$livetime = date('g:iA ', time() - 3600); // 4:00PM 
+0

+1 para proporcionar formato y para ser un nuevo usuario de SO. –

0

hora es igual a time() (hora dada en segundos después de Unix época).

Por lo tanto, para calcular lo que necesita, debe realizar el cálculo: time() - 60*60 (tiempo actual en segundos menos 60 minutos por 60 segundos).

$time_you_need = time() - 60*60; 
0

primer convertido hora en segundos (3600) es válida la siguiente:

$your_date = date('F jS, Y',time() - 3600); 
2

convertir su fecha de strtotime y luego restar una hora desde que

$now = date('Y/m/d h:i'); 
$time = strtotime($toDate); 
$time = $time - (60*60); //one hour 
$beforeOneHour = date("Y-m-d H:i", $time);