Nasıl iyi bir planlama uygulaması için saat aritmetiği işlemek için?

3 Cevap php

Bir otobüs tarifesi uygulaması bina Im.

Otobüs her zaman 15:23 geliyor - otobüse için planlanan zaman ve asla bir gün sonraki hangi değişikliklerin 15:23 diyelim - mysql db Ben statik bir 'zaman' bir alan var. Bu 03:20 bulunuyor ve kullanıcı otobüs durağı için çalışıyor. Nasıl "sonraki otobüs 3 dakika içinde" ile kullanıcıya sunmak yok

Şimdiden teşekkürler! Chris

3 Cevap

Lütfen hesaplama örneğin, gece yarısı üzerine gittiğinde 23:20 bulunuyor ve otobüs 00:05 de gelirse dikkatli olun, basit bir çıkarma çalışmaz. Daima programlı zaman şimdiki zaman yerine, örneğin daha sonra yapmak

$now = time();
$sched = "00:43";

$sched_time = strtotime($sched);
if($sched_time < $now)
     $sched_time = strtotime("tomorrow $sched");

$diff =  $sched_time - $now;
echo "$diff seconds to go";

Ayrıca PHP bunu yapabilirsiniz:

// set this to the appropriate time zone if mktime gives a warning
date_default_timezone_set("America/Los_Angeles");

$bus = mktime(11, 0); // hour : minute; other fields default to now
$now = time();
echo (($bus - $now) / 60) . " minutes to go\n";

Eğer zaman yerine MySQL zaman alıyorsanız (), MySQL UNIX_TIMESTAMP () işlevini kullanın.

MySQL Bunu yapmak için TIMEDIFF fonksiyonu ve CURTIME işlevini kullanabilirsiniz:

TIMEDIFF(bus_time, CURTIME())