کار با زمان و تاریخ در PHP
کار با زمان و تاریخ در PHP

برای کار با زمان و تاریخ در PHP باید از تابع ( ) date استفاده کنیم. امروز از سری مقالات تیک4 قصد داریم شما را بیشتر با نحوه کار تاریخ در PHP بیشتر آشنا کنیم.

تابع ( )date در PHP :

از تابع ( ) date در PHP ، برای نمایش و یا دستکاری ساعت و تاریخ استفاده می شود.
از تابع ( ) date می توانید برای انجام اموری مثل نمایش تاریخ جاری سرور ، نمایش یک تاریخ خاص ، محاسبه زمان ، ایجاد یک برچسب زمانی و … استفاده نمایید . این تابع یکی از توابع پیش ساخته و اصلی زبان PHP است.

شکل کلی تعریف و استفاده از تابع ( ) date در PHP به صورت زیر است :

<?php date ( format ); ?>

 

پارامتر format تعیین کننده نحوه نمایش تاریخ توسط تابع ( ) date است . در این پارامتر کاراکترهای زیر را می توانید به کار ببرید :
تعیین این پارامتر برای تابع اجباری است .
کاراکتر d : این کاراکتر ، نمایشگر شماره روز در تابع date بوده و عددی بین ۰۱ تا ۳۱ است .
کاراکتر m : این کاراکتر نمایشگر عدد ماه در تابع date بوده و عددی بین ۰۱ تا ۱۲ است .
کاراکتر Y : کاراکتر Y نمایشگر عدد سال در تابع date بوده و یک عدد چهار رقمی است .
کاراکترهای جدا کننده : از کاراکترهایی مثل ” / ” ، ” – ” ، ” . ” و … می توان برای جدا نمودن عددهای سال و ماه و روز در تایع date است نمود.
نحوه استفاده از این کاراکترها و خروجی آنها در حالت های مختلف را در مثال عملی زیر نمایش داده ایم : format
مثال عملی : در مثال زیر نحوه به کار بردن تابع date در نمایش تاریخ و حالت های مختلف پارامتر format در آن را نمایش داده ایم :

<?php
echo date("Y/m/d") . " < br / > "; 
echo date("Y.m.d") . " < br / >"; 
echo date("Y-m-d"); 
?>

 

خروجی:
۲۰۱۲/۰۳/۱۱
۲۰۱۲٫۰۳٫۱۱
۲۰۱۲-۰۳-۱۱

توابع مهم و کاربردی زیر مجموعه تابع ( ) date :

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

checkdate ( ): این تابع ، تاریخ داده شده به آن را طبق تقویم میلادی بررسی کرده و صحت آن را اعلام می کند .
date_default_timezone_get ( ): این تابع زمان محلی ( timezone ) سرور را نمایش می دهد .
date_default_timezone_set ( ): این تابع زمان محلی ( timezone ) سرور را بر طبق مقدار داده شده ، تنظیم می کند .
date_sunrise ( ): این تابع زمان طلوع آفتاب در یک تاریخ خاص را ، بر حسب موقعیت جغرافیایی سرور نمایش می دهد .
date_sunrset ( ): این تابع زمان غروب آفتاب در یک تاریخ خاص را ، بر حسب موقعیت جغرافیایی سرور نمایش می دهد .
getdate ( ): این تابع زمان و تاریخ دقیق جاری سرور را در یک آرایه به کاربر نمایش می دهد .
mktime ( ): این تابع برای تعیین تاریخ جاری و یا تعیین یک تاریخ در آینده به کار می رود .

توابع کار با تقویم Calendar در PHP :

ازتوابع کار با تقویم Calender در PHP زمانی اشتفاده میشود که میخواهیم فرمت های مختلف تقویم را به یکدیگر تبدیل کرده و یا اطلاعاتی را راجع به یک تاریخ خاص بدست آوریم.
فرض کنید میخواهید یک تاریخ میلادی را به فرانسوی و … تبدیل کرده و یا تعداد روزهایی که از یک تاریخ خاص تا تاریخ جاری گذشته را حساب کنید.
تقویم و تاریخ در php بصورت استاندارد بر اساس تقویم ژولیانه ( Julian day count ) تعریف شده است. Julian day count تعداد روزهای سپری شده از تاریخ ۱ جولای سال ۴۷۱۳ قبل از میلاد میباشد.
نکته : برای تغییر فرمت بین تقویم ها و تبدیل تاریخ ابتدا باید تاریخ خود را به Julian day count تغییر داده سپس آن را به فرمت جدید تبدیل کنید.

آیا به نصب برنامه خاص نیاز است؟

نسخه تحت ویندوز PHP بصورت استاندارد و پیش فرض تمامی توابع تقویم را شامل شده و بدون نیاز به تغییر خاص کار میکند.اما اگر از نسخه لینوکس PHP استفاده میکنید باید خروجی را با نسخه enable calendar آن کامپایل کنید .

لیست توابع اصلی و مهم کار با تقویم calendar در PHP :

در زیر، توابع مهم و پر کاربرد کار با تقویم در php را معرفی کرده ایم :

cal_days_in_month ( ): این تابع تعداد روزهای یک ماه خاص از یک تقویم و سال مورد نظر را برمیگرداند .
ccal_from_jd ( ): این تابع یک روز داه شده از تقویم Julian را به هر فرمت دیگر تقویم تبدیل میکند .
ccal_to_jd ( ): این تابع یک تاریخ معین را گرفته و سپس تعداد روزهای سپری شده در تقویم Julian از آن روز خاص را حساب میکند .
GregorianToJD ( ): این تابع یک تاریخ معین تقویم گریگوری یا مسیحی را به تعداد روزهای سپری شده از اول تقویم ژولیانی(Julian day count) تبدیل میکند .
JDDayOfWeek ( ): این تابع نام روز جاری از هفته را نمایش میدهد .
JDMonthName ( ): این تابع نام ماه جاری از سال را نمایش میدهد .


تابع ( ) cal_days_in_month:

این تابع تعداد روزهای یک ماه مورد نظرتان ، مربوط به یک سال و تقویم خاص را نشان میدهد.
برای مثال فرض کنید میخواهید بدانید ماه july در سال ۲۰۰۵ در تقویم ژولیانی چند روز بوده است.
شکل کلی استفاده از این تابع به صورت زیر است :

cal_days_in_month ( calendar , month , year );

 

این پارامتر تقویم مورد نظر را مشخص میکند.
calendar: استفاده از این پارامتر اجباری است . این پارامتر ماه مورد نظر را مشخص میکند.
month: استفاده از این پارامتر اجباری است . این پارامتر سال مورد نظر را مشخص میکند.
year: استفاده از این پارامتر اجباری است .
مثال : در مثال زیر ، نحوه استفاده از تابع ( ) cal_days_in_month را در عمل نمایش داده ایم . در مثال زیر با استفاده از تابع ( ) cal_days_in_month تعداد روزهای ماه دهم از سال ۲۰۰۵ را در تقویم ژولیانی را نمایش داده ایم :

<?php
$d = cal_days_in_month ( CAL_GREGORIAN , 10 , 2005 );
echo ( " There was $d days in October 2005 " ); 
?>

 

خروجی:
There was 31 days in October 2005


تابع ( ) cal_from_jd :

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

cal_from_jd ( jd , calendar );

 

این پارامتر تعداد روزهای سپری شده مورد نظر شما در تقویم ژولیانی را تعیین میکند .
jd: استفاده از این پارامتر اجباری است . این پارامتر تقویم مقصد که میخواهید تاریخ جاری را به فرمت آن تبدیل کند را مشخص میکند .

انواع فرمت های دیگر تقویم PHP عبارتند از :


CAL_GREGORIAN : تقویم گریگوری یا مسیحی
CAL_JULIAN : تقویم ژولیانی
CAL_JEWISH : تقویم یهودی
CAL_FRENCH : تقویم فرانسوی

calendar: استفاده از این پارامتر اجباری است .
مثال : در مثال زیر ، نحوه استفاده از تابع ( ) cal_from_jd را در عمل نمایش داده ایم . در مثال زیر ابتدا یک تاریخ خاص را در متغیر d$ ذخیره کرده ایم . سپس با استفاده از تابع ( ) cal_from_jd آن را به روز مربوطه در تقویم گریگوری تبدیل کرده ایم :

<?php
$d = unixtojd ( mktime ( 0,0,0,1,18,2006 ) );
print_r ( cal_from_jd ( $d , CAL_GREGORIAN ) ); 
?>

 

خروجی:


Array
(
[date] => 1/18/2006
[month] => 1
[day] => 18
[year] => 2006
[dow] => 3
[abbrevdayname] => Wed
[dayname] => Wednesday
[abbrevmonth] => Jan
[monthname] => January
)

 

تابع ( ) cal_to_jd :

این تابع یک تاریخ معین را گرفته ، سپس تعداد روزهای سپری شده از اول تقویم ژولیانی تا روز مورد نظر را نمایش میدهد.
اولین روز در تقویم ژولیانی اول فوریه سال ۴۷۱۳ قبل از میلاد مسیح است.
شکل کلی استفاده از این تابع به صورت زیر است :

cal_to_jd ( calendar , month , day , year );

 

این پارامتر تقویم مورد استفاده را مشخی می سازد .

انواع فرمت های دیگر تقویم PHP عبارتند از :


CAL_GREGORIAN : تقویم گریگوری یا مسیحی
CAL_JULIAN : تقویم ژولیانی
CAL_JEWISH : تقویم یهودی
CAL_FRENCH : تقویم فرانسوی
calendar: استفاده از این پارامتر اجباری است .این پارامتر ماه تاریخ مورد نظر را تعیین میکند.
month: استفاده از این پارامتر اجباری است . این پارامتر روز تاریخ مورد نظر را تعیین میکند.
day: استفاده از این پارامتر اجباری است . این پارامتر سال تاریخ مورد نظر را تعیین میکند.
year: استفاده از این پارامتر اجباری است .
مثال : در مثال زیر ، نحوه استفاده از تابع ( ) cal_to_jd را در عمل نمایش داده ایم . در مثال زیر تعداد روزهای سپری شده از ابتدای تقویم ژولیانی تا یک تاریخ خاص را نمایش داده ایم :

<?php
$d=cal_to_jd ( CAL_GREGORIAN , 10 , 03 ,2005 ) ;
ec

 

خروجی:
۲۴۵۳۶۴۷


تابع ( ) JDDayOfWeek :

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

jddayofweek ( jd , mode );

 

این پارامتر تعداد روزهای سپری شده از تاریخ اول تقویم ژولیایی را تعیین میکند .
jd: استفاده از این پارامتر اجباری است . این پارامتر خروجی تابع را مشخص میکند. اینکه خروجی بصورت حروفی(نام روز) و یا عددی (شماره روز در هفته) باشد.

انواع مقادیر ممکن برای این پارامتر عبارتند از :


۰: این مقدار مقدار پیش فرض است و باعث میشود تا خروجی تابع شماره روز در هفته را برگرداند . ( ۰ برای یکشنبه ، ۱ برای دوشنبه ، … )
۱ : قرار دادن مقدار ۱ باعث میشود تا تابع نام روز در هفته را برگرداند.

مثال : در مثال زیر ، نحوه استفاده از تابع ( ) JDDayOfWeek را در عمل نمایش داده ایم . در مثال زیر ابتدا یک تاریخ خاص را در متغیر jd$ ذخیره کرده ایم . سپس با استفاده از تابع ( ) JDDayOfWeek ، نام روز آن تاریخ را در خروجی چاپ کرده ایم :

<?php
$jd = cal_to_jd (CAL_GREGORIAN , date("m") , date("d") , date("Y") ) ;
echo ( jddayofweek ( $jd , 1 ) ) ; 
?>

 

خروجی:
Thursday


تابع ( ) JDMonthName :

 

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

jdmonthname ( jd , mode );

این پارامتر تعداد روزهای سپری شده از تاریخ اول تقویم ژولیایی را تعیین میکند .
jd: استفاده از این پارامتر اجباری است . این پارامترها نحوه خروجی نام ماه را تعیین میکند که مثلا نام کامل باشد و یا بصورت حروف اختصاری.
mode: استفاده از این پارامتر اختیاری است .

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

۰ : نام ماه بصورت اختصاری و بر مبنای تقویم مسیحی (Jan, Feb, Mar, etc ) .
۱ : نام کامل ماه بر مبنای تقویم مسیحی (January, February, March, etc ) .
۲ : نام ماه بصورت اختصاری و بر مبنای تقویم ژولیانی (Jan, Feb, Mar, etc ) .
۳ : نام کامل ماه بر اساس تقویم ژولیانی (January, February, March, etc ) .
mode: استفاده از این پارامتر اختیاری است .
مثال : در مثال زیر ، نحوه استفاده از تابع ( ) JDMonthName را در عمل نمایش داده ایم . در مثال زیر ابتدا یک تاریخ خاص را در متغیر jd$ ذخیره کرده ایم . سپس با استفاده از تابع ( ) JDMonthName ، نام ماه آن تاریخ را در خروجی چاپ کرده ایم :

<?php
$jd = cal_to_jd (CAL_GREGORIAN , date("m") , date("d") , date("Y") ) ;
echo ( jdmonthname ( $jd , 1 ) ) ; 
?>

خروجی:
January

دیدگاه‌ خود را بیان کنید

اشتراک در
اطلاع از
guest

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

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید0
There are no products in the cart!