Anda tidak perlu substr atau mysql untuk ini. Pertama dapatkan tanggal Anda tanpa substr:
$tawal = date('Y-m-d', strtotime($date));
$takhir = date('Y-m-d', strtotime($date1));
Sekarang Anda memiliki string berformat Y-m-d. Untuk menemukan perbedaannya, Anda tidak perlu mengonversi ke Y-m-d karena kami tidak membutuhkan mysql. Anda dapat menggunakan metode ini untuk menemukan perbedaan dalam hitungan detik.
$diff = abs(strtotime($date2) - strtotime($date));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));