استفاده از متد Date و strtotime در زبان برنامه نویسی Php

nav-icon
close
صفحه اصلی آموزش برنامه نویسی استفاده از متد Date و strtotime در زبان برنامه نویسی Php

استفاده از متد Date و strtotime در زبان برنامه نویسی Php

استفاده از زمان در برنامه نویسی به زبان php با استفاده از متدهای Date و strtotime
استفاده از متد Date و strtotime در زبان برنامه نویسی Php

استفاده از متد Date:

امروز برای یک پروژه اینطور تعریف شده بود که وقتی کاربر یک جعبه ابزاری رو برای ایجاد یک کارت ویزیت آنلاین خریداری می کنه، همزمان باید یک مدت زمانی رو هم انتخاب می کرد تا بتونه از این جعبه ابزار فقط در مدت زمانی که انتخاب کرده استفاده کنه.

به همین خاطر احتیاج داشتم تا بتونم از کدی استفاده کنم تا تاریخ امروز رو به زبان php بگیره، و همچنین توی لحظه بتونه مثلا زمان 3 ماه یا 6 ماه یا 12 ماه آینده رو هم حساب کنه تا بتونم توی دیتابیس ذخیره کنم تا بتونم باهاش تاریخ انقضای جعبه ابزار رو محاسبه کنم و با تمام شدن تاریخ انقضا، پیام مناسب رو برای کاربر ارسال کنم.

با سرچی که زدم، متوجه شدم که با کد زیر به راحتی میشه این کار رو انجام داد و هر تاریخی که میخوام رو بتونم بدست بیارم.

<?php
      $date = date('Y-m-d');
      $newDate = date('Y-m-d', strtotime($date. ' + 3 months'));
?>

در خط اول کد، تاریخ امروز رو بدست آوردم و در یک متغیر ریختم. سپس با کدهای خط دوم، با تعیین زمانی که احتیاج داشتم ( اون عدد 3 )، تونستم که تاریخ 3 ماه بعد از امروز رو هم بدست بیارم و در یک متغیر دیگه ذخیره کردم. با استفاده از این کدها، به راحتی تونستم که تاریخ هارو بدست بیارم و توی دیتابیسم ذخیره کنم.

اما اینجا به یک مشکل دیگه برخوردم. من این تاریخ هارو به صورت میلادی دارم و اگر بخوام محاسبه کنم که چه وقت تاریخ انقضای جعبه ابزار تموم میشه، باید هر زمانی که کاربر وارد جعبه ابزار میشد و هر صفحه ای رو که توی جعبه ابزار باز میکرد، باید هر دفعه یک خروار کد رو برای محاسبه استفاده میکردم تا بتونم متوجه بشم که تاریخ انقضاش سر اومده یا نه !!

به همین دلیل مجددا دنبال یک کدی گشتم که بتونم این مشکل رو هم حل کنم تا این که به متد strtotime بر خوردم. :)


php-date


استفاده از strtotime:

متد strtotime‎‎ یک تاریخ میلادی را به یک عددی تبدیل می کند که نشانگر تعداد ثانیه های گذشته از تاریخ 1 ژانویه 1970 00:00:00 GMT است که به این معنیه که هر تاریخی دارای یک عدد ثابت هست. جالب این که از این متد می توان برای محاسبه هر تاریخی چه زمان حال، چه در گذشته و چه در آینده استفاده کرد.

یعنی من تونستم که علاوه بر گرفتن تاریخ مثلا 3 ماه بعد، عدد strtotime در 3 ماه آینده رو هم بدست بیارم. این طوری من هر روز با گرفتن عدد strtotime برای زمان حال، این عدد رو با عدد 3 ماه آینده تطابق بدم که هر وقت عدد زمان حال من بزرگتر از عدد زمان مشخص شده توسط کاربر بشه، به این معنی هست که تاریخ انقضای جعبه ابزار گذشته و به کاربر پیام لازم رو ارسال می کنم.


تعدادی از کدهای تابع strtotime برای محاسبه زمان های مختلف :

<?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 کدهای بیشتری رو داخل این فایل ها می تونید مشاهده کنید.

همچنین اگر نظری یا موردی یا کدی برای آموزش بهتر این مبحث دارید، داخل دیدگاه ها برام بنویسید تا ازشون داخل آموزش استفاده کنم.

 

ثبت دیدگاه

دیدگاه خود را برای ما بنویسید
ارسال دیدگاه loading
دیدگاه شما پس از تایید مدیر، نمایش داده خواهد شد

دیدگاه کاربران

مشاهده دیدگاه های ثبت شده کاربران
empty تا کنون دیدگاهی ثبت نشده است ..!!

جدیدترین آموزش ها

مقالات کاربردی با محوریت دانش برنامه نویسی و کدینگ