اسنیپت : روش پیدا کردن تعداد روزها و ساعت ها بین دو تاریخ مختلف

3 دیدگاه

سلام دوستان

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

در ادامه کدهایی رو به شما معرفی می کنیم که می تواند تعداد روزها و تعداد ساعت های بین دو تاریخ مختلف را حساب کند.

فرض کنید در پروژه خود سرویس هایی را برای تعداد روز مشخص به کاربران ارائه می کنید. با این کد می تواند تعداد روزهای باقی مانده از سرویس را محاسبه کنید و در صورت نیاز پیش از اتمام سرویس به کاربر اطلاع دهید

دو کد در این بحث برای شما قرار دادیم که اولی فقط تعداد روزها و دومی هم تعداد روزها و هم ساعت ها را محاسبه می کند

کد محاسبه تعداد روزها

/**
 * Finds the difference in days between two calendar dates.
 *
 * @param Date $startDate
 * @param Date $endDate
 * @return Int
 */
 function dateDiff($startDate, $endDate)
 {
 // Parse dates for conversion
 $startArry = date_parse($startDate);
 $endArry = date_parse($endDate);

 // Convert dates to Julian Days
 $start_date = gregoriantojd($startArry["month"], $startArry["day"], $startArry["year"]);
 $end_date = gregoriantojd($endArry["month"], $endArry["day"], $endArry["year"]);

 // Return difference
 return round(($end_date - $start_date), 0);
 }
 echo 'Difference is '.dateDiff("2012-10-12","2012-11-14").' days ! \n';

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

در همین رابطه :   یک کپچای زیبا و جالب با jQuery

 

کد محاسبه تعداد روزها + تعداد ساعت ها

  
  $day   = 31;     // Day of the countdown
  $month = 12;      // Month of the countdown
  $year  = 2012;   // Year of the countdown
  $hour  = 23;     // Hour of the day (east coast time)
  $event = "New Year's Eve, 2012"; //event

  $calculation = ((mktime ($hour,0,0,$month,$day,$year) - time())/3600);
  $hours = (int)$calculation;
  $days  = (int)($hours/24);
/*
  mktime() http://www.php.net/manual/en/function.mktime.php
  time()   http://www.php.net/manual/en/function.time.php
  (int)    http://www.php.net/manual/en/language.types.integer.php
*/
?>
<ul>
<li>The date is <?=(date ("l, jS \of F Y g:i:s A"));?>.</li>
<li>It is <?=$days?> days until <?=$event?>.</li>
<li>It is <?=$hours?> hours until <?=$event?>.</li>
</ul>

این کد تعداد روزها و ساعت های باقی مانده تا اتمام سال 2012 میلادی را محاسبه می کند.در سه متغیر ابتدایی این کد می توانید روز ،ماه و سال مورد نظرتون رو تعیین کنید . فرق دیگر این کد با کد اول این است که لازم نیست تاریخ شروع رو به این کد پاس بدید و تاریخ شروع را همان تاریخ فعلی در نظر می گیرد

 

دسته بندی : PHP

3 نظر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *