Merhaba,
Bir formdan haftanın günü, ayın günü, saati ve dakikayı seçerek gönder dediğimde bu mktime ile unix zamanı veritabanına yazıyorum
NOT: aldığım unix zamanı zaman dilimine gerek kalmadan belirlediğim tam tarih ve saat BURADA SORUN YOK
SORUN BUNDAN SONRA
veritabanına yazdığım unix zamanı çekiyorum ve şimdiki unix zamanı eşleşiyormu yoksa daha küçükmü diye kontrol ediyorum
<div>
Sorun bu, şimdiki zamanı "time()" ile aldığımda yerel zaman değil ana sunucu zamanın unix zamanını veriyor böyle olunca ana sunucu yerele göre saati ne kadar geri ise o kadar zaman geciktiriyor.
Yani, ben saat 8:00 diye görev verdiğimde bu görev saat 12:00 de çalışıyor eğer ana sunucu 2 saat geri ise
Sayfaya bu "date_default_timezone_set('Europe/Istanbul');" zaman dilimi koysamda "time()" ile yine ana sunucu zamanın unix değerini veriyor
Madem veritabanına unix zamanı yazarken mktime verdiğim zamanı yerel veya ana sunucu saatına bakmadan unix zamanı veriyorsa bende aşağıdaki gibi zaman dilimi ile yerel zamanı aldım sonra parçaladım sonra zamanları mktime verdim ama yine ana sunucu zamanın unix zamanı veriyor
ANA SUNUCU ZAMANI DEĞİL YEREL ZAMANIN UNIX ZAMANINI NASIL ALABİLİRİM?
Bir formdan haftanın günü, ayın günü, saati ve dakikayı seçerek gönder dediğimde bu mktime ile unix zamanı veritabanına yazıyorum
NOT: aldığım unix zamanı zaman dilimine gerek kalmadan belirlediğim tam tarih ve saat BURADA SORUN YOK
PHP:
mktime ($hour, $minute, $second, $month, $day, $year);
veritabanına yazdığım unix zamanı çekiyorum ve şimdiki unix zamanı eşleşiyormu yoksa daha küçükmü diye kontrol ediyorum
<div>
PHP:
if(time()<=$veritabani_unix_zamani){
echo "şimdiki zamana eşit veya geçti";
}else{
echo "şimdiki zaman veritabanının zamanına daha var";
}
Yani, ben saat 8:00 diye görev verdiğimde bu görev saat 12:00 de çalışıyor eğer ana sunucu 2 saat geri ise
Sayfaya bu "date_default_timezone_set('Europe/Istanbul');" zaman dilimi koysamda "time()" ile yine ana sunucu zamanın unix değerini veriyor
Madem veritabanına unix zamanı yazarken mktime verdiğim zamanı yerel veya ana sunucu saatına bakmadan unix zamanı veriyorsa bende aşağıdaki gibi zaman dilimi ile yerel zamanı aldım sonra parçaladım sonra zamanları mktime verdim ama yine ana sunucu zamanın unix zamanı veriyor
PHP:
date_default_timezone_set('Europe/Istanbul');
$tamzaman = date("H,i,s,m,d,Y");
$tek = explode (",",$tamzaman);
echo mktime ($tek[0], $tek[1], $tek[2], $tek[3], $tek[4], $tek[5]);
ANA SUNUCU ZAMANI DEĞİL YEREL ZAMANIN UNIX ZAMANINI NASIL ALABİLİRİM?