تفاوت دو تاریخ توسط PHP

پرداخت آنلاین بانک ملت
2015-02-10
ابزارهای PHP برای برنامه نویسی و توسعه وب سایت
2015-02-10

تفاوت دو تاریخ توسط PHP

تفاوت دو تاریخ توسط PHP

این مطلب که در ادامه به توضیح آن می پردازیم، درباره تفاوت دو تاریخ توسط PHP می باشد.

تفاوت دو تاریخ توسط PHP موضوع اصلی ما در این مطلب می باشد که می توانید در ادامه آن را بخوانید.

مقایسه تفاوت دو تاریخ توسط PHP

در برنامه نویسی PHP مواقعی پیش می آید که نیاز دارید دو تاریخ را به یکدیگر مقایسه نمایید و فاصله زمانی بین دو تاریخ را پیدا کنید که در بخش زیر نحوه بدست آوردن آن را به صورت کامل برای شما شرح خواهم داد؛ در واقع تفاوت دو تاریخ توسط PHP را بررسی می کنیم.

 

تاریخ ها را نمی توانید به صورت عادی از هم منها نمایید و می بایست آنها را به مقدار عددی تبدیل نمایید. برای انجام این کار می توانید از تابع strtotime استفاده نمایید. این تابع تاریخ شما به صورت تاریخ UNIX تبدیل می نماید که این تاریخ فاصله زمان تاریخ شما به ثانیه از زمان یکم ۱۹۷۰ می باشد. در زیر نحوه انجام این کار را به شما نمایش می دهم:

$date1 = “2007-03-24 00:00:00”;
$date2 = “2009-06-26 00:00:00”;

$diff = abs(strtotime($date2) – strtotime($date1));

$years = floor($diff / (365*60*60*24));
$months = floor(($diff – $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff – $years * 365*60*60*24 – $months*30*60*60*24)/ (60*60*24));

printf(“%d years, %d months, %d daysn”, $years, $months, $days);

در کد بالا تاریخ می توانید به صورت تاریخ و زمان نیز باشد. متغییر $diff دو تاریخ را به صورت عددی از یکدیگر منها می نماید و بنابراین $date2 می بایست زمان جدیدتر باشد. برای بدست آوردن تفاوت سالیانه دو تاریخ می بایست فاصله زمانی بدست آماده را به سال تبدیل نمایید و از تابع floor برای روند کردن آن استفاده نمایید. برای بدست آوردن تعداد ماه ابتدا می بایست تعداد سال ها به ثانیه را از تفاوت دو تاریخ به ثانیه کسر نموده و سپس آن را به ماه تبدیل نمایید و برای سایر واحدهای تاریخ نیز به همین ترتیب عمل نمایید. در صورتی که قصد دارید فاصله بین دو تاریخ را به ساعت و دقیقه و همچنین ثانیه بیان نمایید می توانید کدهای زیر را به کد اصلی خود اضافه نمایید.

$hour = floor(($diff – $years * 365*60*60*24 – $months*30*60*60*24 – $days*60*60*24)/ (60*24));

$min = floor(($diff – $years * 365*60*60*24 – $months*30*60*60*24 – $days*60*60*24 – $hour*60*60)/ (60));

تفاوت دو تاریخ توسط PHP

البته می توانید فاصله زمانی بین دو تاریخ را فقط توسط المان های دیگر نظیر ساعت و دقیقه بیان نمایید که در زیر مثال آن را برای شما آورده ام:

$hour = floor($diff / (60*24));
$min = floor(($diff – $hour * 60*24) / (24));

دیدگاه ها بسته شده است