کار با تاریخ و ساعت در php
در این جلسه از آموزش های php با پردیس وردپرس به کار با تاریخ و ساعت در پیاچپی می پردازیم. مواقع زیادی در برنامه نویسی به کار کردن با تاریخ و ساعت احتیاج داریم. ابزار های زیادی برای این کار در php وجود دارد.
دریافت زمان با تابع ()time
این تابع تمام اطلاعات لازم برای زمان جاری را در اختیار شما قرار می دهد. تابع نیاز به هیچ آرگومان ورودی ندارد و یک رشته خروجی متنی دارد. رشته متنی که از این تابع برگردانده میشود تعداد ثانیههای سپری شده از نیمه شب ۱ ژانویه ۱۹۷۰ را به وقت GMT نشان میدهد. زمان حاضر به شکل UNIX نمایش داده می شود که این به معنی تعداد ثانیههای گذشته شده از یک زمان مرجع می باشد.
برای استفاده از این تابع یک فایل جدید در پوشه اصلی سرور مجازی خود بسازید و کد زیر را در آن قرار دهید:
بعد از اجرا عددی مانند ۱۸۷۶۸۹۴۵۶۲ برای شما نمایش داده خواهد شد. این عدد قابل فهم نیست و با استفاده از توابعی می توان آن را به یک تاریخ و زمان قابل فهم تبدیل کرد.
تابع ()getdate
این تابع می تواند خروجی که از تابع time بدست می آید را به عنوان ورودی دریافت کند. خروجی این تابع آرایه ای از اطلاعات مربوط به تاریخ است. اگر شما ورودی این تابع را مشخص نکنید، تابع از خروجی کنونی تابع time استفاده می کند.
در جدول زیر لیست المانهای آرایهای که از تابع getdate بدست میآید را مشاهده می کنید:
شماره | کلید و توضیح | مثال |
---|
۱ | seconds تعداد ثانیههای گذشته از دقیقه کنونی (۰-۵۹) | ۲۰ |
۲ | minutes تعداد دقایق گذشته از ساعت کنونی (۰ – ۵۹) | ۲۹ |
۳ | hours تعداد ساعتهای گذشته از روز کنونی (۰ – ۲۳) | ۲۲ |
۴ | mday روز ماه کنونی (۱ – ۳۱) | ۱۱ |
۵ | wday روز هفته کنونی (۰ – ۶) | ۴ |
۶ | mon ماه سال کنونی (۱ – ۱۲) | ۷ |
۷ | year سال (۴ رقمی) | ۱۹۹۷ |
۸ | yday روزکنونی در سال جاری ( ۰ – ۳۶۵ ) | ۱۹ |
۹ | weekday روز جاری در هفته کنونی | Thursday |
۱۰ | month ماه جاری در سال کنونی | January |
۱۱ | ۰ Timestamp – تایماستامپ | ۹۴۸۳۷۰۰۴۸ |
حال شما میتوانید با استفاده از دادههای فوق کنترل کاملی را بر روی تاریخ و ساعت داشته باشید. شما میتوانید بر اساس فرمت مورد نیاز خود از دادههای بالا استفاده کنید.
به مثال زیر توجه کنید:
| $date_array=getdate(); foreach($date_arrayas$key=>$val){ print"$key = $val "; } $formated_date ="Today's date: "; $formated_date.=$date_array['mday']."/"; $formated_date.=$date_array['mon']."/"; $formated_date.=$date_array['year']; print$formated_date; ?> |
نتیجه اجرای کد فوق مانند زیر است:
seconds = 37
minutes = 49
hours = 09
mday = 23
wday = 23
mon = 4
year = 2017
yday = 157
weekday = Sunday
month = April
۰ = ۱۸۷۶۸۹۴۵۶۲
Today’s date: 23/4/2017
تبدیل timestamp با تابع ()date
منظور از timestamp خروجی تابع time است. تابع date شکل فرمت بندی شده ای از تاریخ و زمان را نشان می دهد. تعداد بسیار زیادی فرمت بر حسب خلاقیت یا نیاز خود با این تابع بدست آورید. کد استاندارد این تابع به شکل زیر است:
تابع date نیز میتواند timestamp مورد نظرتان را به صورت اختیاری به عنوان ورودی دریافت کند و اگر این ورودی تعیین نشود، از زمان کنونی استفاده خواهد شد. در جدول زیر لیستی از فرمتهایی که میتوانید با این تابع استفاده کنید آورده شده است:
شماره | فرمت و توضیح | مثال |
---|
۱ | a ‘am’ یا ‘pm’ با حروف کوچک | pm |
۲ | A ‘AM’ یا ‘PM’ با حروف بزرگ | PM |
۳ | d روز جاری در ماه کنونی | ۲۰ |
۴ | D روز هفته جاری (سه کاراکتر) | Thu |
۵ | F نام ماه جاری | January |
۶ | h ساعت (فرمت ۱۲ ساعته – اعداد تک رقمی با یک صفر پیش از عدد) | ۱۲ |
۷ | H ساعت (فرمت ۲۴ ساعته – اعداد تک رقمی با یک صفر پیش از عدد) | ۲۲ |
۸ | g ساعت (فرمت ۱۲ ساعته – اعداد تک رقمی بدون یک صفر پیش از عدد) | ۱۲ |
۹ | G ساعت (فرمت ۲۴ ساعته – اعداد تک رقمی بدون یک صفر پیش از عدد) | ۲۲ |
۱۰ | i دقیقه ( ۰ – ۵۹ ) | ۲۳ |
۱۱ | j روز ماه جاری (اعداد تک رقمی بدون یک صفر پیش از عدد) | ۲۰ |
۱۲ | l (حرف کوچک ‘L’) روز هفته | Thursday |
۱۳ | L کبیسه بودن سال (‘۱’ بله, ‘۰’ خیر) | ۱ |
۱۴ | m ماه جاری سال کنونی (عدد – اعداد تک رقمی با یک صفر پیش از عدد) | ۱ |
۱۵ | M ماه جاری سال کنونی (سه کاراکتر) | Jan |
۱۶ | r فرمت RFC 2822 | Thu, 21 Dec 2000 16:01:07 +0200 |
۱۷ | n ماه جاری سال کنونی (عدد – اعداد تک رقمی بدون یک صفر پیش از عدد) | ۲ |
۱۸ | s ثانیههای گذشته شده از دقیقه جاری | ۲۰ |
۱۹ | U تایماستامپ | ۹۴۸۳۷۲۴۴۴ |
۲۰ | y سال (دو رقم) | ۰۶ |
۲۱ | Y سال (چهار رقم) | ۲۰۰۶ |
۲۲ | z روز کنونی سال جاری (۰ – ۳۶۵) | ۲۰۶ |
۲۳ | Z افست ثانیهها از GMT | +۵ |
حال برای مثال کد زیر را در یک فایل وارد کرده و آن را اجرا کنید:
| printdate("m/d/y G.i:s ",time()); print"Today is "; printdate("j of F Y, a\t g.i a",time()); ?> |
خروجی کد بالا مانند زیر خواهد بود:
۰۴/۲۳/۱۷ ۱۰٫۰۲:۱۷Today is 23 2017s April 2017, at 10.02 am,>
در جلسه بعدی با شمسی سازی تاریخ در php آشنا خواهیم شد.
پردیس وردپرس...
ما را در سایت پردیس وردپرس دنبال می کنید
برچسب : نویسنده : خنج pardiswp بازدید : 197 تاريخ : دوشنبه 4 ارديبهشت 1396 ساعت: 21:43