اگر در بعضی از شبکه های اجتماعی عضو باشید دیدید که نوع نمایش آخرین حضور کاربرهاش به شکل (1 روز قبل ، 1 ساعت قبل ، چند لحظه قبل و ...) هست.
اما چگونه میتونیم آخرین حضور کاربرهای سایت خودمون را به این شکل نشون بدیم؟
کار ساده ای است.
با تابع diff این کار به راحتی میتونه انجام بگیره.
در واقع تابع diff در php میاد دو ورودی را با هم مقایسه میکنه و اختلاف اون ها را نشون میده.
مثال :
$date = new DateTime();
$date->setTimestamp($timestamp);
$interval = $date->diff(new DateTime('now'));
echo $interval->format('%y years, %m months, %d days, %h hours and %i minutes ago');
در مثال بالا میبینید که اول زمان حال حاضر رو بوسیله date گرفتیم.
بعد نوع تاریخ را تبدیل به timestamp کردیم.
متغیری که در داخل setTimestamp قرار دارد، باید آخرین حضور کاربر خود را در این قسمت قرار دهید.
در آخرین مرحله توسط تابع diff میایم اختلاف زمان حال را با زمان آخرین حضور کاربر میگیریم و با توسط format به صورت دقیقه و ساعت و ... نشون میدیم.
البته تابع diff فقط برای نمایش اختلاف زمان نیست. میتوانید برای محاسبه کارهای دیگر هم استفاده کنید.