Merhabalar. PHP deki time(); işlevi ile unix zaman damgasını döndürebiliyoruz.
time(); işlevi, yani Unix zaman damgası, GMT baz alınarak 1 Ocak 1970 00:00:00 tarihindan itibaren, günümüze kadar geçen zamanı saniye cinsinden gösteriyor.
Biraz araştırdım fakat time(); işlevini Europe/Istanbul saat dilimine çeviremedim. Sunucu saati farklı ve bunu ayarlamaya gerek duymadan nasıl yapabileceğime baktım ama bulamadım.
date_default_timezone_set('Europe/Istanbul');
echo date("d.m.Y.H.i.s");
Yukarıdaki komut, sadece date(); işlevinde işe yarıyor. Yani yukarıdaki komutu kullandığımda date(); formatında yazdırdığım tarihi İstanbul'a göre ayarlayabiliyorum. Ama yukarıdaki komut ile time(); işlevinde değişiklik yapamıyorum. İşe yaramıyor.
Bu sorunu ancak time(); işlevine saat ekleyerek çözebildim. Unix zaman dilimi GMT kullanıyor ve Türkiye GMT +3 saat dilimini kullanıyor. +3 saati, saniye cinsinde time(); işlevine ekleyerek çözüm bulabildim. Eğer farklı bir yöntemi varsa ve bilen hocalarımız bilgilendirirse sevinirim
$gmtfarki=10800;
$time=time();
$trtime=$gmtfarki+$time;
echo $trtime;
Konuyu açmamın sebebi: Hem farklı bir yöntemi varsa, onu da öğrenmek. Hem de; İnsanın kafası durunca google ye bakıyor ve orada çözümü bulamadığı için, konu index alsın ve basit te olsa bunu millet görebilsin diye konuyu açma gereğini duydum. Çözümü basit de olsa, PHP'ye yeni başlayanlar için faydalı bir çözüm olabilir diye düşündüm.

@hasyer; hocamızın gösterdiği şekil, tam olarak aradığım koddur. Herkesin ellerine, emeklerine sağlık. Çok güzel, farklı yöntemler gördüm Herkese minnettarım

hasyer adlı üyeden alıntı: mesajı görüntüle
<?php
function get_unix_time() {
$date = new DateTime(null, new DateTimeZone('Europe/Istanbul'));
return $date->getTimestamp() + $date->getOffset();
}
echo get_unix_time();
?>