Tarih bilgilerini sql de integer olarak kaydetmek en iyisi. int(11).
unix time stamp olarak kayıt edersen istediğin her şekilde kullanırsın, veri tabanında çok yer kaplamaz, iki tarih arası işlem yaparken performansı yüksek olur.
unix time stamp 1 ocak 1970 ten itibaren şu ana kadar geçen saniyeyi belirten bir değerdir. Her saniye artar. time() fonksiyonu ile o andaki time_stamp ı alabilirsın.
string olarak gönderdiğin (19.01.2018) değerini strtotime ile int e çevirebilir int olarak sağladığın değeri date(d.m.Y,$time) olarak okunabilir hale getirebilirsin.