2009-08-28 9 views

答えて

29

最初に考えた:VolkerKの答え由来

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

高速化バージョン:

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

を使用することができます! – Psyche

+2

夏時間を念頭に置いてください; – VolkerK

+0

2番目の方法は、技術的に優れているだけでなく、高速です。すべての日に86400秒があるわけではありません。参照してください:http://stackoverflow.com/questions/7780464/is-time-guaranteed-to-be-leap-second-aware –

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

編集:さらに高速

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

動作しませんが、 '$ rs = strtotime('23:59:59 ') - time()+ 1; echo $ rs; 'はそうです。 :) – chaos

+0

hmは、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

あなたがCarbonを使用している場合は、単純に、それが動作感謝を

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

関連する問題