امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
مقایسه کردن تفاوت بین دو تاریخ توسط PHP
نویسنده پیام
maryamsited آفلاین
عضو انجمن
عضو


ارسال‌ها:
6
تاریخ عضویت:
Jun 2014
اعتبار:
2
تشکر ها: 0
19 تشکر شده در 6 ارسال
ارسال: #1
مقایسه کردن تفاوت بین دو تاریخ توسط PHP
در برنامه نویسی PHP مواقعی پیش می آید که نیاز دارید دو تاریخ را به یکدیگر مقایسه نمایید و فاصله زمانی بین دو تاریخ را پیدا کنید که در بخش زیر نحوه بدست آوردن آن را به صورت کامل برای شما شرح خواهم داد. تاریخ ها را نمی توانید به صورت عادی از هم منها نمایید و می بایست آنها را به مقدار عددی تبدیل نمایید. برای انجام این کار می توانید از تابع strtotime استفاده نمایید. این تابع تاریخ شما به صورت تاریخ UNIX تبدیل می نماید که این تاریخ فاصله زمان تاریخ شما به ثانیه از زمان یکم 1970 می باشد. در زیر نحوه انجام این کار را به شما نمایش می دهم:

کد php:
$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 days\n"$years$months$days); 

در کد بالا تاریخ می توانید به صورت تاریخ و زمان نیز باشد. متغییر $diff دو تاریخ را به صورت عددی از یکدیگر منها می نماید و بنابراین $date2 می بایست زمان جدیدتر باشد. برای بدست آوردن تفاوت سالیانه دو تاریخ می بایست فاصله زمانی بدست آماده را به سال تبدیل نمایید و از تابع floor برای روند کردن آن استفاده نمایید. برای بدست آوردن تعداد ماه ابتدا می بایست تعداد سال ها به ثانیه را از تفاوت دو تاریخ به ثانیه کسر نموده و سپس آن را به ماه تبدیل نمایید و برای سایر واحدهای تاریخ نیز به همین ترتیب عمل نمایید. در صورتی که قصد دارید فاصله بین دو تاریخ را به ساعت و دقیقه و همچنین ثانیه بیان نمایید می توانید کدهای زیر را به کد اصلی خود اضافه نمایید.
کد php:
$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)); 

سورس:
تفاوت بین دو تاریخ توسط PHP
(آخرین ویرایش در این ارسال: 06-22-2014، 15:59، توسط Mehr@ban.)
وبسایت جستجو پاسخ با نقل قول
 تشکر شده توسط: Mehr@ban , tabrizdl.ooq.ir , SaMaN


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تبدیل کردن هر وب سایت به سایت موبایل توسط phpMobilizer siteali 0 1,502 07-14-2015، 12:42
آخرین ارسال: siteali
  تشخیص دادن نسخه IE توسط PHP siteali 1 1,910 05-13-2015، 01:48
آخرین ارسال: tabrizdl.ooq.ir
  حذف تگ از HTML توسط PHP - دستورالعمل عکس strip_tags maryamsited 0 1,577 07-23-2014، 16:24
آخرین ارسال: maryamsited
  آموزش اکستراکت نمودن فایل های فشرده توسط PHP بر روی سرور وب سایت maryamsited 0 1,686 07-09-2014، 11:14
آخرین ارسال: maryamsited
  کد زیپ کردن اطلاعات روی هاست Mehr@ban 5 4,649 01-29-2014، 23:05
آخرین ارسال: Mehr@ban
  سوال در مورد حساس کردن قسمت های مختلف تصویر SaMaN 10 7,030 12-19-2013، 19:14
آخرین ارسال: SaMaN
  کپی کردن کد php mshoja 3 2,896 08-12-2013، 18:06
آخرین ارسال: mshoja
  درخواست کد php تاریخ و ساعت شمسی به وقت ایران SaMaN 5 7,916 02-24-2013، 11:07
آخرین ارسال: tabrizdl.ooq.ir
  مشکل در ارتباط برقرار کردن کدهای php با phpmyadmin jaber120 3 3,585 01-26-2013، 23:17
آخرین ارسال: jaber120
  روشن کردن register_globals arash_brznd 0 1,614 08-26-2012، 17:20
آخرین ارسال: arash_brznd

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان
یوهاستینگ در بهمن سال 1389 با هدف ارائه خدمات میزبانی وب تاسیس گردید که در مدت زمانی نچندان کوتاه توانست در چهارمین جشنواره وب ایران سال 1390 عنوان هاستینگ برگزیده را به دست آورد.