Elysion O web sitesi tarayıcıdan sizin zaman dilimini alıp ona göre çeviriyordur.
Önce kullanıcının zaman dilimini bulacaksınız. Sisteminizde kayıtlı kullanıcı olayı varsa kullanıcı, profilinde kendi zaman dilimini seçip kaydetsin. Kullanıcının zaman dilimine direkt böyle ulaşın.
Eğer auth kullanmıyorsanız, herkes görebiliyorsa moment.js kullanabilirsiniz:
https://momentjs.com/timezone/docs/#/using-timezones/guessing-user-timezone/
Ya da API kullanabilirsiniz:
http://ip-api.com/json/88.246.81.11
Anladığım kadarıyla $mail->getDate() Carbon objesi dönüyor. Kullanıcının zaman dilimini örneğin timezone adıyla oturumda tutun. Yapmanız gereken şu: $mail->getDate()->tz(session('timezone', config('app.timezone')))->format('M d Y H:i')
. Sonra bir tane Blade direktifi yazın. İsterseniz Blade yerine $mail objesine yöntem de ekleyebilirsiniz.
Blade::directive('datetz', function ($date) {
$timezone = session('timezone', config('app.timezone'));
return "<?php echo ($date)->tz($timezone)->format('M d Y H:i'); ?>";
});
Şablon içinde @datetz($mail->getDate())
şeklinde kullanırsınız.