Ben bazı çok temel zaman matematik yapmak için çalışıyorum - temelde, hızını hesaplamak, zaman ve mesafe girişleri verilmiştir. Ben saniye içine zaman girdi dönüştürmek strtotime () kullanmayı seçti - ama bazı tuhaf sonuçlar alıyorum.
Örneğin, bu örnek program verilmiştir:
<?php
$t1 = strtotime("3:15:00",0);
$t2 = strtotime("1:00:00",0);
$t3 = strtotime("2:00:00",0);
$t4 = strtotime("9:00:00",0);
echo $t1 . "\n";
echo $t2 . "\n";
echo $t3 . "\n";
echo $t4 . "\n";
?>
Neden bu sonuçlar alabilirim?
$ php test.php
-56700
-64800
-61200
-36000
Update:
Kimse açıkça söyledi yana, bana yukarıdaki işlevi hata anlatalım. Garip sesler, ama benim amaçlar için çalışacak - I) strtotime (sıfır bir zaman geçen zamanı gece yarısından itibaren elde edilen pulları, 1969/12/31, UTC üretmesine sebep olacağını kabul etmişti.
Ne sayılmaz vardı dizeleri dönüştürürken strtotime () dikkate saat dilimleri alır ve benim sunucu 5 saat UTC arkasında görünüşte olduğu idi. Bunun üstüne, çünkü zaman dilimi kayması, PHP ardından the day before the epoch ki bu Aralık 30th, 1969 göreli meydana yerine olarak benim kez yorumlamak demektir göreli olarak kez yorumlar Negatif sayılar sonuçlanan 31, ...
Eugene doğru olduğunu görünür - Ben sadece geçen zamanı hesaplamak istiyorsanız, ben zaman fonksiyonları inşa kullanamazsınız.