2009-08-28 16 views

Respuesta

29

primer pensamiento:

86400 - date('H') * 3600 - date('i') * 60 - date('s') 

versión más rápida derivado de la respuesta de VolkerK:

strtotime('tomorrow') - time() 
+0

funciona, gracias! – Psyche

+2

Tenga en cuenta el horario de verano;) – VolkerK

+0

El segundo método es técnicamente mejor además de ser más rápido. No todos los días tienen 86400 segundos. Ver: http://stackoverflow.com/questions/7780464/is-time-guaranteed-to-be-leap-second-ware –

7
$rs = strtotime('24:00') - time(); 
echo $rs; 

edición: aún más rápido

echo mktime(24,0,0) - time(); 
+2

No funciona, pero '$ rs = strtotime ('23: 59: 59 ') - time() + 1; echo $ rs; 'hace. :) – chaos

+0

hm, funciona bien en php 5.3.0/win32. – VolkerK

0
$sDate = '2014-12-01 23:59:58'; 
$oDatetime1 = new DateTime($sDate); 
$oDatetime2 = new DateTime($sDate); 

$oDatetime1->modify('tomorrow'); 

echo $oDatetime1->getTimestamp() - $oDatetime2->getTimestamp(); 
0

Si está utilizando Carbon sólo tiene que utilizar

Carbon::now()->secondsUntilEndOfDay();

Cuestiones relacionadas