v2.5.2
Giriş yap

Yerel zaman damgası değiştirme

rephp7
489 defa görüntülendi

Merhaba,
Veritabanında tarihleri şu şekilde tutuyorum. 2021-09-19

date_default_timezone_set('Europe/Istanbul');
setlocale(LC_TIME, 'tr_TR.UTF-8');
echo strftime('%d %h %Y',strtotime($duyurular[$i]["tarih"]));

çıktısı: 19 Sep 2021

Bunu yerele göre Türkiye de ise 19 Eyl 2021 şeklinde, Avrupa için 19 Sep 2021 şeklinde nasıl gösterebilirim?

rephp7
947 gün önce

setlocale(LC_TIME, 'tr_TR.UTF-8'); de doğru çalışmıyor ki, ingilizce adları veriyor.
setlocale(LC_TIME, 'e'); yapsam kendisi timezone yi algılar mı? diyeceğimde bunda da ingilizce ay adlarını veriyor. Yine Türkçe ay adları dönmüyor.


for($m=1; $m<=12; ++$m){
    date_default_timezone_set('Europe/Istanbul');
    setlocale(LC_TIME, 'e');
    echo date('M', mktime(0, 0, 0, $m, 1)).'<br>';
}

Bunu da denedim çıktısı: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec şeklinde ingilizce. Bir Türlü Türkçe ay adını alamadım.