Merhabalar;
Mysql veri türü timestamp olan bir kolonum var ve içinde kullanıcı her giriş yaptığında giriş tarihini kayıt ettiriyorum.
Fakat sessionda tuttuğum tarihi html içinde kullandığımda;
2010-02-13 00:02:18
Ben html üstüne yazar iken bu veriyi 13-02-2010 02:13:00 şeklinde yazabilmek için ne yapabilirim?
Konuyla ilgilendiğiniz için teşekkürler...
Php+Mysql / Tarih 2010-02-13 00:02:18 şeklinde ben bunu php içinde Türkçe olarak nasıl çevrilir
7
●7.201
- 13-02-2010, 02:24:29Kimlik doğrulama veya yönetimden onay bekliyor.Arkadaşım Ya tarihi explode ile bölüp ilgili yerleri yazdıracaksın, bu uzun yolk olur. Ya da mysql deki alanı timestamp olarak değil de 10 haneli int olarak tut. Veritabanına eklerken php nin mktime() fonksiyonunu kullan. Veritabanından alıp sessiona atınca da istediğin gibi kullan. Yani eklerken diyelim ki ekleyecğin zaman:
$sorgu = 'insert into tarih="'.mktime().'"'
sayfada kullanacağın zamanda:
<?php //timestamp halini istersen: echo date('Y-m-d h:i:s', $sorgu['tarih']); //2010-02-13 00:02:18 gibi echo date('d-m-Y h:i:s', $sorgu['tarih']); //13-02-2010 02:13:00 gibi echo date('d/m/Y h:i:s', $sorgu['tarih']); //13/02/2010 02:13:00 gibi echo date('d.m.Y', $sorgu['tarih']); //13.02.2010 gibi ?>gördüğün gibi, her şekle gelir
- 13-02-2010, 03:00:09Arkadaşım tam olarak ne istediğini anlayamadım. Mktime fonksiyonu da unix timestamp olarak tutar zamanı. Eğer 2 saat öncesini bulmak istiyorsan şöyle düşün:
1 saat = 60 dakika * 60 saniye =3600 saniye
2 saat 7200 saniye
yani 2 saat öncesi mktime()-7200 olacak. Böylece yukarıda ki örneğe göre:
<?php echo date('d-m-Y H:i:s',($sorgu['tarih']-7200)); ?>sana 2 saat öncesini verir. Yok eğer istediğin bir tarihi mktime() olarak bulmak ise, şu formatı kullanacaksın:
mk_olarak_istenen_tarih = mktime(saat, dakika, saniye, ay, gün, yıl);
Yani:
<?php $tarih = mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('Y')); ?>gibi.