عضو کانال یوتیوب ما شوید.

تمرین “چند روزته؟” – کدکاپ 4 + پی اچ پی

پی اچ پی
پی اچ پی

تمرین چند روزته

در این نوشته تمرین “چند روزته؟” که در مسابقه ی کدکاپ آمده است را با زبان برنامه نویسی پی اچ پی حل خواهیم کرد؛

با ما همراه باشید.

 

درباره ی کدکاپ ۴ بخوانید.!

در این سوال قرار است شما تاریخی را به عنوان ورودی دریافت کنید و تعداد روز های باقی‌مانده از امروز تا تاریخ مورد نظر را محاسبه کنید (برای مثال تعداد روز‌های باقی‌مانده از امروز تا فردا ۱ می‌باشد).

اگر تاریخ مورد نظر قبل از امروز بود عبارت “gone” (بدون علامت “) و در غیر این صورت عدد محاسبه شده را چاپ کنید.

مثال :

 

input :
2005-01-06
output:
gone
---------------------
(example today)
input :
2018-10-12
output:
0
---------------------
input :
2018-10-14
output:
2

 

نکته :
  • امروز 12-10-2018 بوده است ولی شما ممکن است روز دیگری این برنامه را اجرا کنید.
  • تاریخ مورد نظر با متد POST و تحت کلید date برای برنامه ی شما آمده است.
  • نوع کار با تاریخ Y-m-d است.
  • برای خروجی از echo استفاده شود و هیچ html اضافه ای در خروجی نباید باشد.

 

کد + حل :

 

<?php
//$_POST['date'] = "2011-10-12";

if(isset($_POST['date']) && !empty($_POST['date']))
{
  $date = explode("-", $_POST['date']);
  if ($date[0]==date("Y") && $date[1]==date("m") && $date[2]==date("d"))
    echo 0;
  elseif($date[0]<date("Y"))
    echo "gone";
  elseif ($date[0]==date("Y") && $date[1]<date("m"))
    echo "gone";
  elseif($date[0]==date("Y") && $date[1]==date("m") && $date[2]<date("d"))
    echo "gone";
  else {
      $mytime = new DateTime($_POST['date']);
      $now = new DateTime(date("Y") . "-" . date("m") . "-" . date("d"));
      $difference = $mytime->diff($now);
      echo $difference->days;
    }
}

?>

 

بعد از بررسی کردن وجود ورودی مقدار تاریخ را خرد می کنیم و بعد از بررسی جهت گذشته شدن از تاریخ با تاریخ امروز آن را مقایسه کرده.

تعداد فاصله ی روزهای مورد نظر را چاپ می کنیم.

موفق و پیروز باشید.

منبع سوال : سایت کوئرا

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]