php tarih j sorunu
ben 1 Mart Salı Çıktısını $bugunn = time(); değişkeninden almam lazım
01 Mart olmıyacak tek haneli 1 Mart
gel görelim aşağıdaki kod 060 Mart Salı çıktısı veriyor sorun nerede acaba?
<?php
setlocale(LC_TIME, 'turkish');
$bugunn = time();
$bugun = iconv('latin5','utf-8',strftime('%j %B %A', $bugunn));
echo $bugun; //çıktı 060 Mart Salı nomalde 1 Mart Salı olması lazım
?>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
function tarih($f, $zt = 'now'){
$z = date("$f", strtotime($zt));
$donustur = array(
'Monday' => 'Pazartesi',
'Tuesday' => 'Salı',
'Wednesday' => 'Çarşamba',
'Thursday' => 'Perşembe',
'Friday' => 'Cuma',
'Saturday' => 'Cumartesi',
'Sunday' => 'Pazar',
'January' => 'Ocak',
'February' => 'Şubat',
'March' => 'Mart',
'April' => 'Nisan',
'May' => 'Mayıs',
'June' => 'Haziran',
'July' => 'Temmuz',
'August' => 'Ağustos',
'September' => 'Eylül',
'October' => 'Ekim',
'November' => 'Kasım',
'December' => 'Aralık',
'Mon' => 'Pts',
'Tue' => 'Sal',
'Wed' => 'Çar',
'Thu' => 'Per',
'Fri' => 'Cum',
'Sat' => 'Cts',
'Sun' => 'Paz',
'Jan' => 'Oca',
'Feb' => 'Şub',
'Mar' => 'Mar',
'Apr' => 'Nis',
'Jun' => 'Haz',
'Jul' => 'Tem',
'Aug' => 'Ağu',
'Sep' => 'Eyl',
'Oct' => 'Eki',
'Nov' => 'Kas',
'Dec' => 'Ara',
);
foreach($donustur as $en => $tr){
$z = str_replace($en, $tr, $z);
}
if(strpos($z, 'Mayıs') !== false && strpos($f, 'F') === false) $z = str_replace('Mayıs', 'May', $z);
return $z;
}
/*
echo tarih('j F Y','2017-08-15'); //Çıktı: 15 Ağustos 2017
echo tarih('j F Y , l','2017-08-15'); //Çıktı: 15 Ağustos 2017 , Salı
*/