کار با توابع ()Date و ()Time در Php

بازدید: 1,135 بازدید
توابع تاریخ و زمان

تاریخ ()Date و زمان ()Time جزو مهم ترین عناصر هر برنامه ای محسوب می شوند.

در زندگی روزمره نیز کاربرد بسیار زیادی دارند. اما کاربرد این دو تابع در برنامه نویسی بسیار بیشتر از آن چیزی است که عموم تصور می کنند.

می توان از توابع date و time برای خطایابی در فرم ها، لاگ این ها، و بسیاری مسائل دیگر استفاده کرد.

در ادامه سری آموزش های حرفه ای php، امروز درباره کار با این دو تابع و نحوه استفاده و کدنویسی از این توابع در برنامه ها صحبت خواهیم کرد.

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

با سلام خدمت همراهان همیشگی وب سایت پرنیان طرح

تاریخ ()Date و زمان ()Time جزو مهم ترین عناصر هر برنامه ای محسوب می شوند.

در زندگی روزمره نیز کاربرد بسیار زیادی دارند. اما کاربرد این دو تابع در برنامه نویسی بسیار بیشتر از آن چیزی است که عموم تصور می کنند.

می توان از توابع date و time برای خطایابی در فرم ها، لاگ این ها، و بسیاری مسائل دیگر استفاده کرد.

در ادامه سری آموزش های حرفه ای php، امروز درباره کار با این دو تابع و نحوه استفاده و کدنویسی از این توابع در برنامه ها صحبت خواهیم کرد.

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

تابع ()Date در Php

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

این تابع یک علامت زمانی را که از منبع تعریف شده دریافت می کند(این علامت برای کاربر قابل درک و خواندن نیست) ، و آن را به فرمتی که برای کاربر و ببینده قابل درک و خواندن باشد تبدیل می کند.

شکل نحوی این تابع به شکل زیر است:

date(format,timestamp)

توضیحات برای شکل نحوی دستور:

المان فرمت format: یک المان ضروری است. فرمت علامت زمانی را مشخص می کند.

المان علامت زمانی timestamp: یک المان غیرضروی است. یک علامت زمانی را تعریف می کند. حالت پیشفرض این المان، تاریخ و زمان فعلی است.

به دست آوردن یک تاریخ و زمان ساده 

المان ضروری format در تابع ()Date مشخص کننده نحوه قالب بندی تاریخ یا زمان است.

در ادامه چند کاراکتر رایج از انواع کاراکترهای date را معرفی می کنیم.

  • d: برای نمایش تعداد روزهای گذشته از ماه استفاده می شود. (01تا 31)
  • m: برای نمایش ماه های گذشته از سال استفادد می شود. (01تا12)
  • Y : سال را با یک عدد چهاررقمی نمایش می دهد. (2019)
  • l: ( حرف L با حروف کوچک) برای نمایش نام روز استفاده می شود.(sunday, monday…)

کاراکترهای دیگری مانند “/”, “.”,یا “-” نیز می توانند در بین کاراکترهای بالا اضافه شوند و فرمت جدیدی را ایجاد کنند.

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

[php]

<?php
echo “Today is ” . date(“Y/m/d”) . “<br>”;
echo “Today is ” . date(“Y.m.d”) . “<br>”;
echo “Today is ” . date(“Y-m-d”) . “<br>”;
echo “Today is ” . date(“l”);
?>

[/php]

نتیجه کد بالا، مقدار زیر خواهد بود:

Today is 2019/09/15
Today is 2019.09.15
Today is 2019-09-15
Today is Sunday

نکته!

با استفاده از تابع ()date می توانید حق کپی رایت را به طور خودکار در وب سایتتان آپدیت کنید.

کد زیر این ویژگی را به کار می بندد:

[php]

© 2010-<?php echo date(“Y”);?>

[/php]

نتیجه کد بالا، نمایش مقدار زیر خواهد بود:

© 2010-2019

به دست آوردن یک زمان ساده

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

H: برای نمایش یک ساعت از روز  در قالب 24ساعتی استفاده می شود.(از 00تا23)

h: برای نمایش یک ساعت از روز در قالب 12 ساعتی با 0های پیش از اعداد، استفاده می شود.(01، 02، 03….12)

i:برای نمایش دقیقه ها ، با 0های پیش از اعداد استفاده می شود.(01،02، ….59)

s: برای نمایش ثانیه ها ، با 0های پیش از اعداد استفاده می شود.(01،02، ….59)

a: برای مشخص کردن ، “قبل از ظهر” و “بعدازظهر” با حروف کوچک استفاده می شود.(am , pm)

 

مثال زیر، تاریخ و ساعت فعلی را در فرمت تعیین شده، نمایش خواهد داد:

[php]

<?php
echo “The time is ” . date(“h:i:sa”);
?>

[/php]

می توانید از این لینک خروجی را مشاهده کنید.(تاریخ و ساعت فعلی سِروِر نمابش داده خواهد شد)

منطقه زمانی خودتان را به دست آورید

اگر زمانی که از طریق کد قبلی در مثال بالا، به دست آورده اید، برای شما و کشورتان درست نیست، به این دلیل است که شما در کشوری غیر از محل استقرار سرور ، قرار دارید.

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

بنابراین برای به دست آوردن ساعت درست محل زندگی خودتان، می توانید منطقه زمانی خود را به دست آورید.

مثال زیر، منطقه زمانی “America/New_York”را نمایش خواهد داد. و خروجی آن ساعت فعلی این منطقه زمانی می باشد.

[php]

<?php
date_default_timezone_set(“America/New_York”);
echo “The time is ” . date(“h:i:sa”);
?>

[/php]

می توانید خروجی این کد را از این لینک مشاهده کنید.

ایجاد یک تاریخ با تابع ()mktime

پارامتر غیرضروریtimestamp در تابع ()date، یک زمان سنج را تعریف می کند.

اگر شما در این تابع، timestamp را تعیین نکنید، تاریخ و زمان فعالی نمایش داده خواهد شد. همانطور که در مثال بالا، مشاهده کردید.

تابع ()mktimeعلامت زمانی Unix را برای یک تاریخ بر میگرداند.

علامت زمانیUnix تعداد تانیه ها بین دوره یونیکس(1 ژانویه 1970، GMT00:00:00) و زمان مشخص شده را شامل می شود.

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

mktime(hour,minute,second,month,day,year)

در مثال زیر، توسط تعدادی عدد ، در این تابع، تاریخ و زمان ایجاد می کند.

[php]

<?php
$d=mktime(11, 14, 54, 8, 12, 2014);
echo “Created date is ” . date(“Y-m-d h:i:sa”, $d);
?>

[/php]

خروجی این کد، عبارت زیر می باشد:

Created date is 2014-08-12 11:14:54am

ایجاد یک تاریخ از یک رشته با تابع ()strtotime

این تابع، یک رشته قابل خواندن برای انسان را به یک تاریخ یونیکس تبدیل میکند.

شکل نحوی تابع نیز به این صورت است:

strtotime(time,now)

در مثال زیر تحوه کار این تابع را می بینیم:

[php]

<?php
$d=strtotime(“10:30pm April 15 2014”);
echo “Created date is ” . date(“Y-m-d h:i:sa”, $d);
?>

[/php]

و خروجی آن ، عبارت زیر خواهد بود:

Created date is 2014-04-15 10:30:00pm

phpدر تبدیل یک رشته به تاریخ، کاملا هوشمندانه عمل می کند. بنابراین شما می توانید هر رشته ای را برای تبدیل شدن به تاریخ در این تابع وارد کنید.

مثال:

[php]

<?php
$d=strtotime(“tomorrow”);
echo date(“Y-m-d h:i:sa”, $d) . “<br>”;

$d=strtotime(“next Saturday”);
echo date(“Y-m-d h:i:sa”, $d) . “<br>”;

$d=strtotime(“+3 Months”);
echo date(“Y-m-d h:i:sa”, $d) . “<br>”;
?>

[/php]

خروجی کدهای بالا، مقادیر زیر خواهد بود:

2019-09-17 12:00:00am
2019-09-21 12:00:00am
2019-12-16 09:43:31am

نکته!  این خروجی ها بستگی به تاریخ امروز دارد.

برای دریافت کردن مقادیر به روز ، می توانید به این لینک مراجعه کنید.

با وجود عملکرد هوشمندانه php، باید توجه داشته باشید که تابع ()strtotime ، یک تابع ایده آل نیست.

بنابراین همیشه، رشته های ورودی این تابع را به دقت چک کنید.

دو مثال دیگر برای یادگیری کامل توابع تاریخ و زمان

خروجی کد زیر، تاریخ های شش شنبه ی آینده خواهد بود:

[php]

<?php
$startdate=strtotime(“Saturday”);
$enddate=strtotime(“+6 weeks”, $startdate);

while ($startdate < $enddate) {
echo date(“M d”, $startdate) . “<br>”;
$startdate = strtotime(“+1 week”, $startdate);
}
?>

[/php]

و خروجی آن:

Sep 21
Sep 28
Oct 05
Oct 12
Oct 19
Oct 26

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

https://www.w3schools.com/php/phptryit.asp?filename=tryphp_date7

مثال زیر ، تعداد روزهای باقیمانده (از امروز) تا چهارم جولای را در خروجی نمایش خواهد داد.

[php]

<?php
$d1=strtotime(“July 04”);
$d2=ceil(($d1-time())/60/60/24);
echo “There are ” . $d2 .” days until 4th of July.”;
?>

[/php]

خروجی این کد:

There are -74 days until 4th of July.

دریافت تعداد به روز از طریق لینک زیر:

https://www.w3schools.com/php/phptryit.asp?filename=tryphp_date8

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

2 پاسخ به “کار با توابع ()Date و ()Time در Php”

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

سبد خرید

هیچ محصولی در سبد خرید نیست.