Php’de tarihi Türkçe formata çevirme

Veri tabanından gelen saat verisini Türkçe formata çeviren kodları hazırlayalım.Veri tabanından gelen saat formatı aşağıda görüldüğü gibi.Dönüştürülecek yeni formatta saniye bilgisini kullanılmayacak

Veri tabanından gelen format Dönüştürülmüş format
2016-12-20 19:52:56 20 Aralık 2016 – 19:52
<?php
//////////// veri tebanına bağlantısı . . .
$host=”localhost”;

$ dbname=”vt”;
$kadi=”root”;
$sifre=””;
try{
$db=new PDO(“mysql:host=$host;dbname=$dbname;charset=utf8″,”$kadi”,”$sifre”);
}catch(PDOException $mesaj){
echo $mesaj->getmessage();
}//////////// veri tebanı kayıtları seçme . . .
$sec = $db->prepare(“select * from makaleler”);

$sec->execute(array());
$x=$sec->fetchALL(PDO::FETCH_ASSOC);
//////////// seçilen kayıtları listeleme . . .
foreach($x as $m){echo $m[“makale_id”];

echo $m[“makale_baslik”];//////////// vt den gelen tarih verisini Türkçe formata çevirme . . .$t=$m[“makale_tarih”];
setlocale(LC_TIME, “turkish”);
setlocale(LC_ALL,’turkish’);
echo iconv(‘latin5′,’utf-8’,strftime(‘ %d %B %Y ‘,strtotime($t)));
echo date(‘- H:i:s’,strtotime($t));
echo “<br>” ;
}
?>

Php kodları çıktısı . . .

1 13 ALTIN KURAL 27 Kasım 2016 – 17:18
2 PHOTOSHOP ÖĞRENMEK İSTEYENLER 27 Kasım 2016 – 18:40
3 HARF LÜTFEN 28 Kasım 2016 – 18:37
4 3D YAZICILAR 28 Kasım 2016 – 21:17

Unix zaman (unix time) nedir ?

“1 Ocak 1970 00:00:00” tarihinden itibaren şu ana kadar geçen saniye sayısına unix time denir.

Örnek:

<?php
echo time();
?>
Php kodları çıktısı –> 1483179225

Strtotime fonksiyonu ne işe yarar ?

Strtotime , bir tarih verisini unix zamana çevirir . Unix zamana çevrilmiş saati istediğimiz formatta çevirebiliriz.

<?php
echo strtotime(‘31.12.2016 12:25’);
?>
Php kodları çıktısı –> 1483187100

Strftime fonksiyonu ne işe yarar ?

Bu fonksiyonu kullanabilmek için setlocale fonksiyonu ile zaman dilimizi ayarlarız.Bu işlemden sonra belirli parametreler kullanarak Strftime fonksiyonunu kullanırız.iconv fonksiyonu ise karakter dönüşümü için kullanılır.

Kodlar Çıktı
<?php
setlocale(LC_TIME, “turkish”);
setlocale(LC_ALL,’turkish’); // zaman dili ayarı yapıldı.
echo iconv(‘latin5′,’utf-8’,strftime(‘ %d %B %Y ‘,strtotime(‘31.12.2016 12:25’)));
?>
31 Aralık 2016

%d —>GÜN BİLGİSİNİ SAYI OLARAK VERİR –>31
%B –>AY BİLGİSİNİ YAZI OLARAK VERİR –>ARALIK
%Y –>YIL BİLGİSİNİ VERİR –>2016

date() fonksiyonu ne işe yarar ?

Tarih biçimlendirir.

Kodlar Çıktı
<?php
echo date(‘H:i:s’,strtotime(‘31.12.2016 12:25’));
?>
12:25

H –> 00’dan 23’e kadar saat formatı –> 12
i –> 00 ile 59 arasında kadar dakika formatı –> 25
s –> 00 ile 59 arasında kadar saniye formatı –>00

Paylaş:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir