merhaba arkadaşlar, veri tabanına time olarak saat ekletiyorum benim istediğim;
04:00 şeklinde eklemesi ama 04:00:00 şeklinde eklenebiliyor. Time yerine başka birşey mi kullanılıyor? Bunu değiştirmenin bir yolu var mı?
$baslama_saniye = strtotime($baslama);
gibi saniyeye çevirince " 1530583200 " gibi bir sonuç veriyor bunu tekrar dakikaya çevirmeye çalışınca
gmdate('i:s', $x) olarak 00:00 geliyor.
Veri tabanı saat format sorunu
3
●137
- 03-07-2018, 02:23:06
- 03-07-2018, 03:29:38@arion; Yardımınız için teşekkürler ama anlık saat istemiyorum.
Personel eklerken işe başlama ve bitirme saatlerini seçiyoruz bu saatleri time olarak veri tabanına ekliyorum. Çalıştığı saatler arasında kaç tane randevu aldığını hesaplatmak için saniye cinsine çevirdiğimde " 1530583200 " gibi bir sonuç veriyor.
Bu sonucu tekrar dakikaya çevirmeye çalışınca;
gmdate('i:s', $x) olarak 00:00 geliyor.
time olarak eklettiğim değer ise 04:00:00 şeklinde ekleniyor.
Amacım saniyeye çevirdiğim değere, randevu aralığımıda saniyeye çevirip eklemek. Örn: 20 dakika için 1. randevu 16:00 ise 2. randecu 16:20 olarak gözükecek - 04-07-2018, 04:19:23php'de tarihsel işlemler yapmak için mutlaka gün, ay, yıl bilgisine ihtiyacınız vardır. sadece saatle işlem yapmak diye birşey yoktur çünkü mantıksal olarak her saat gün, ay, yıl içerisinde bulunmak zorunda. Bu yüzden iki saat arasındaki saniye yada dakika farkını almak diye birşey yoktur onun yerine iki tarih arasındaki saniyeyi almak vardır. ille de saat kullanacağım, gün farketmez diyorsanız o zaman bugünün gün-ay-yıl bilgisini verip sonuna saat bilgisini ekleyerek saniye farkını buldurabilirsiniz.
// bunlar mysqlden gelen time türündeki değerler $mysqlTimeStr1 = "16:00:00"; $mysqlTimeStr2 = "16:20:00"; $explodedMysqlTime1 = explode( ":", $mysqlTimeStr1 ); $explodedMysqlTime2 = explode( ":", $mysqlTimeStr2 ); // strtotime default olarak bu formatı kabul eder: 2038-01-19 03:14:07 $mysqlTime1 = strtotime( date("Y-m-d") . " " . $explodedMysqlTime1[0] . ":" . $explodedMysqlTime1[1] ); $mysqlTime2 = strtotime( date("Y-m-d") . " " . $explodedMysqlTime2[0] . ":" . $explodedMysqlTime2[1] ); $secondDifference = $mysqlTime2 - $mysqlTime1; echo $secondDifference;Burada sonuç 1200 saniye çıkar. Kodu denedim çalışıyor. Anlaşılmayan biyer olursa sorabilirsiniz.