O kısmı iyi düşünmek lazım, ihtiyaç nedir? Ne için kullanılacak? Ne kadar lazım?

Eğer basit bir tarih verisi istiyorsan, örneğin blog için düşünecek olursak yazılma tarihi yıl ay gün şeklinde yeterlidir, biraz daha derine ineyim saat dk sn de ekleyeyim dersen varchar veta date işini görecektir.

Esasen date SQL sorgularında kıyaslama yapmanı kolaylaştırır, şu iki tarih aralığında ara veya son şu kadar tarih içindeki verileri getir derken SQL motorundan yararlanacaksın, php tarafında sadece verileri okuman yeterli olacak.

Bana göre biraz daha detaylı işlerde en sağlıklı kayıt biçimi tarihi bütünsel olarak ele alabileceğim bir veridir, yani geriye dönük işlemleri gelecekte daha iyi yorumlayabileceğim şekilde olmalı. Fotoğrafların raw halini düşünebilirsin, getdate() fonksiyonu ile her şeyi çekebilirim. Sonra array şeklinde dönen içeriği json_encode() ile encode edip veritabanında text olarak kaydederim.

json_encode(getdate())

Bu sayede farklı tarih yorumları için farklı sütunlar açamadan json içinde bütün işimi görürüm. PHP tarafında küçük fonksiyonlarla tarih verisini istediğim gibi biçimlendirmem mümkün, tabi bu kısımlar işin angarya kısmı oluyor ama esnek tarih verisi gerekliyse bence değer.

function getFullDateFromJSON($jsonvalue){
$datearr = json_decode($jsonvalue);
return date('Y-m-d H:i:s', strtotime($datearr->year.'-'.$datearr->mon.'-'.$datearr->mday.' '.$datearr->hours.':'.$datearr->minutes.':'.$datearr->seconds));
}


Esnek tarih verisi ne işime yarayacak?

Admin ve kullanıcı panelinde kullanıyorum genelde, 27 Şubat 2018'de Saat 12:12'de şu ticket açıldı, son kayıt 29 Şubat 2018 Çarşamba 12:12 AM, 44 dk önce, 4 yıl 3 ay 2 hafta önce vesair şeklinde yeniden biçimlendirebiliyorum.