استفاده از متد Date و strtotime در زبان برنامه نویسی Php
استفاده از زمان در برنامه نویسی به زبان php با استفاده از متدهای Date و strtotimeامروز برای یک پروژه اینطور تعریف شده بود که وقتی کاربر یک جعبه ابزاری رو برای ایجاد یک کارت ویزیت آنلاین خریداری می کنه، همزمان باید یک مدت زمانی رو هم انتخاب می کرد تا بتونه از این جعبه ابزار فقط در مدت زمانی که انتخاب کرده استفاده کنه.
به همین خاطر احتیاج داشتم تا بتونم از کدی استفاده کنم تا تاریخ امروز رو به زبان php بگیره، و همچنین توی لحظه بتونه مثلا زمان 3 ماه یا 6 ماه یا 12 ماه آینده رو هم حساب کنه تا بتونم توی دیتابیس ذخیره کنم تا بتونم باهاش تاریخ انقضای جعبه ابزار رو محاسبه کنم و با تمام شدن تاریخ انقضا، پیام مناسب رو برای کاربر ارسال کنم.
با سرچی که زدم، متوجه شدم که با کد زیر به راحتی میشه این کار رو انجام داد و هر تاریخی که میخوام رو بتونم بدست بیارم.
<?php
$date = date('Y-m-d');
$newDate = date('Y-m-d', strtotime($date. ' + 3 months'));
?>
در خط اول کد، تاریخ امروز رو بدست آوردم و در یک متغیر ریختم. سپس با کدهای خط دوم، با تعیین زمانی که احتیاج داشتم ( اون عدد 3 )، تونستم که تاریخ 3 ماه بعد از امروز رو هم بدست بیارم و در یک متغیر دیگه ذخیره کردم. با استفاده از این کدها، به راحتی تونستم که تاریخ هارو بدست بیارم و توی دیتابیسم ذخیره کنم.
اما اینجا به یک مشکل دیگه برخوردم. من این تاریخ هارو به صورت میلادی دارم و اگر بخوام محاسبه کنم که چه وقت تاریخ انقضای جعبه ابزار تموم میشه، باید هر زمانی که کاربر وارد جعبه ابزار میشد و هر صفحه ای رو که توی جعبه ابزار باز میکرد، باید هر دفعه یک خروار کد رو برای محاسبه استفاده میکردم تا بتونم متوجه بشم که تاریخ انقضاش سر اومده یا نه !!
به همین دلیل مجددا دنبال یک کدی گشتم که بتونم این مشکل رو هم حل کنم تا این که به متد strtotime بر خوردم. :)
متد strtotime یک تاریخ میلادی را به یک عددی تبدیل می کند که نشانگر تعداد ثانیه های گذشته از تاریخ 1 ژانویه 1970 00:00:00 GMT است که به این معنیه که هر تاریخی دارای یک عدد ثابت هست. جالب این که از این متد می توان برای محاسبه هر تاریخی چه زمان حال، چه در گذشته و چه در آینده استفاده کرد.
یعنی من تونستم که علاوه بر گرفتن تاریخ مثلا 3 ماه بعد، عدد strtotime در 3 ماه آینده رو هم بدست بیارم. این طوری من هر روز با گرفتن عدد strtotime برای زمان حال، این عدد رو با عدد 3 ماه آینده تطابق بدم که هر وقت عدد زمان حال من بزرگتر از عدد زمان مشخص شده توسط کاربر بشه، به این معنی هست که تاریخ انقضای جعبه ابزار گذشته و به کاربر پیام لازم رو ارسال می کنم.
<?php
echo(strtotime("now") . "<br>");
echo(strtotime("+3 day") . "<br>");
echo(strtotime("3 October 2018") . "<br>");
echo(strtotime("+3 month") . "<br>");
?>
در خط اول کد، strtotime زمان حال را به نشان می دهد.
در خط دوم، کد strtotime برای 3 روز آینده است.
در خط سوم، کد strtotime هر تاریخی که به میلادی و با فرمتی که می بینید تعیین کنید را نمایش می دهد.
و در خط چهارم، کد strtotime برای 3 ماه آینده است.
در ادامه، این کدهای استفاده شده رو برای دانلود قرار میدم تا بتونید ازشون استفاده کنید. همچنین برای تابع strtotime کدهای بیشتری رو داخل این فایل ها می تونید مشاهده کنید.
همچنین اگر نظری یا موردی یا کدی برای آموزش بهتر این مبحث دارید، داخل دیدگاه ها برام بنویسید تا ازشون داخل آموزش استفاده کنم.
جدیدترین آموزش ها
مقالات کاربردی با محوریت دانش برنامه نویسی و کدینگ
ثبت دیدگاه
دیدگاه خود را برای ما بنویسیددیدگاه کاربران
مشاهده دیدگاه های ثبت شده کاربران