سلام .
من میخوام تو پروژم تاریخ امروزو که دارم . بعد تاریخ تولد رو هم دارم . حالا میخوام مثلا از یک هفته قبل گزارش بده بهم که هفت روز بعد تولد ایناس؟
این چند روز قبل تاریخ امروز چجوری حلش کنم؟
شاید پاسخ شما همینجا باشد
نقل و قول از گیت هاب Verta;
نمایش اختلاف تاریخ به صورت واحد زمانی، از دستور زیر استفاده کنید درصورتی که تاریخ را وارد نکنید، اختلاف با زمان کنونی محاسبه می شود.
return $v1->formatDifference($v2); // 12 ماه بعد
return $v1->formatDifference($v3); // 1 سال قبل
return $v1->addDays(25)->formatDifference(); // 4 هفته بعد
return $v1->subDays(6)->formatDifference(); // 6 روز قبل
return verta()->formatDifference(); // الانمحاسبه اختلاف تاریخ ها با یکدیگر، از دستور زیر استفاده کنید
// diff objects together
$v1 = verta(); // 1396-03-31 22:21:40
$v2 = verta('2017-06-21 01:21:40'); // 1396-03-31 01:21:40
$v3 = verta('2017-06-20'); // 1396-03-30 15:24:53
return $v1->diffYears($v3); // -1
return $v1->diffMonths($v2); // 11
return $v2->diffMonths(); // -11 compare with now
return $v1->diffWeeks($v2); // 51
return $v1->diffDays($v3); // -372
return $v3->diffMinutes(); // 536548
return $v3->diffSeconds(); // 12261931سلام . وقت بخیر. من هم یک مشکلی که دارم اینکه تاریخ شمسی تولد رو از کاربر میگیرم و به میلادی تبدیل میکنم و در دیتابیس نگه میدارم. حالا با استفاده از شرط های eloquent میام چک میکنم اونهایی که ماه و روزشون با ماه و روز امروز یکسان هستند ، تولدشون رو تبریک بگو
برای مثال اگر تاریخ امروز رو در نظر بگیریم . و تاریخ تولد کاربر 13-12-1394 باشه میلادی اون میشه 03-03-2016 ولی تاریخ امروز 13-12-1401 و میلادی اون میشه 04-03-2023 ... !!! این باعث میشه که نتونم تولد کاربر رو به درستی تبریک بگم. آیا برای این کار باید تاریخ شمسی کاربر رو هم نگه دارم ؟
نیازی به تاریخ تولد شمسی کاربر نیست. تاریخ میلادی امروز رو با تاریخ تولد میلادی کاربر مقایسه میکنی.
برای مثال یه schedule که روزی یک بار اجرا میشه تعریف میکنی و یه کوئری میزنی شبیه این:
User::where('birth_date', now()->subDays(7)->get()
این بهت لیست کاربرانی که تاریخ تولدشون ۷ روز دیگهست رو میده که میتونی هرکاری میخوای باهاشون بکنی، مثلا پیام تبریک بفرستی.
نیازی به verta و ... نیست.