سلام .
من میخوام تو پروژم تاریخ امروزو که دارم . بعد تاریخ تولد رو هم دارم . حالا میخوام مثلا از یک هفته قبل گزارش بده بهم که هفت روز بعد تولد ایناس؟
این چند روز قبل تاریخ امروز چجوری حلش کنم؟
تاریخ تولد رو بگیر و از تاریخ امروز کمش کن
با تقویم جلالی و Verta راحت میشه
تاریخ امروز : 1397/02/20
کاربر شماره 1 = تاریخ تولد 1360/02/25
الان میخوام گزارش بگیرم که کیا تا یک هفته آینده تولدشونه ؟ که کاربرشماره 1 یکیشونه.
هر راهی که رافتم نشد. چون سال ها متفاوته وقتی تاریخا از هم کم میشن جواب نمیده .
نقل و قول از گیت هاب 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 و ... نیست.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟