کار با تاریخ و ساعت در php
در این جلسه از آموزش های php با پردیس وردپرس به کار با تاریخ و ساعت در پیاچپی می پردازیم. مواقع زیادی در برنامه نویسی به کار کردن با تاریخ و ساعت احتیاج داریم. ابزار های زیادی برای این کار در php وجود دارد.
دریافت زمان با تابع ()time
این تابع تمام اطلاعات لازم برای زمان جاری را در اختیار شما قرار می دهد. تابع نیاز به هیچ آرگومان ورودی ندارد و یک رشته خروجی متنی دارد. رشته متنی که از این تابع برگردانده میشود تعداد ثانیههای سپری شده از نیمه شب ۱ ژانویه ۱۹۷۰ را به وقت GMT نشان میدهد. زمان حاضر به شکل UNIX نمایش داده می شود که این به معنی تعداد ثانیههای گذشته شده از یک زمان مرجع می باشد.
برای استفاده از این تابع یک فایل جدید در پوشه اصلی سرور مجازی خود بسازید و کد زیر را در آن قرار دهید:
<?php echo time(); ?>
بعد از اجرا عددی مانند 1876894562 برای شما نمایش داده خواهد شد. این عدد قابل فهم نیست و با استفاده از توابعی می توان آن را به یک تاریخ و زمان قابل فهم تبدیل کرد.
تابع ()getdate
این تابع می تواند خروجی که از تابع time بدست می آید را به عنوان ورودی دریافت کند. خروجی این تابع آرایه ای از اطلاعات مربوط به تاریخ است. اگر شما ورودی این تابع را مشخص نکنید، تابع از خروجی کنونی تابع time استفاده می کند.
در جدول زیر لیست المانهای آرایهای که از تابع getdate بدست میآید را مشاهده می کنید:
شماره | کلید و توضیح | مثال |
---|---|---|
1 | seconds
تعداد ثانیههای گذشته از دقیقه کنونی (0-59) |
20 |
2 | minutes
تعداد دقایق گذشته از ساعت کنونی (0 – 59) |
29 |
3 | hours
تعداد ساعتهای گذشته از روز کنونی (0 – 23) |
22 |
4 | mday
روز ماه کنونی (1 – 31) |
11 |
5 | wday
روز هفته کنونی (0 – 6) |
4 |
6 | mon
ماه سال کنونی (1 – 12) |
7 |
7 | year
سال (4 رقمی) |
1997 |
8 | yday
روزکنونی در سال جاری ( 0 – 365 ) |
19 |
9 | weekday
روز جاری در هفته کنونی |
Thursday |
10 | month
ماه جاری در سال کنونی |
January |
11 | 0
Timestamp – تایماستامپ |
948370048 |
حال شما میتوانید با استفاده از دادههای فوق کنترل کاملی را بر روی تاریخ و ساعت داشته باشید. شما میتوانید بر اساس فرمت مورد نیاز خود از دادههای بالا استفاده کنید.
به مثال زیر توجه کنید:
<?php $date_array = getdate(); foreach ( $date_array as $key => $val ){ print "$key = $val<br />"; } $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
0 = 1876894562
Today’s date: 23/4/2017
تبدیل timestamp با تابع ()date
منظور از timestamp خروجی تابع time است. تابع date شکل فرمت بندی شده ای از تاریخ و زمان را نشان می دهد. تعداد بسیار زیادی فرمت بر حسب خلاقیت یا نیاز خود با این تابع بدست آورید. کد استاندارد این تابع به شکل زیر است:
date(format,timestamp)
تابع date نیز میتواند timestamp مورد نظرتان را به صورت اختیاری به عنوان ورودی دریافت کند و اگر این ورودی تعیین نشود، از زمان کنونی استفاده خواهد شد. در جدول زیر لیستی از فرمتهایی که میتوانید با این تابع استفاده کنید آورده شده است:
شماره | فرمت و توضیح | مثال |
---|---|---|
1 | a
‘am’ یا ‘pm’ با حروف کوچک |
pm |
2 | A
‘AM’ یا ‘PM’ با حروف بزرگ |
PM |
3 | d
روز جاری در ماه کنونی |
20 |
4 | D
روز هفته جاری (سه کاراکتر) |
Thu |
5 | F
نام ماه جاری |
January |
6 | h
ساعت (فرمت ۱۲ ساعته – اعداد تک رقمی با یک صفر پیش از عدد) |
12 |
7 | H
ساعت (فرمت ۲۴ ساعته – اعداد تک رقمی با یک صفر پیش از عدد) |
22 |
8 | g
ساعت (فرمت ۱۲ ساعته – اعداد تک رقمی بدون یک صفر پیش از عدد) |
12 |
9 | G
ساعت (فرمت ۲۴ ساعته – اعداد تک رقمی بدون یک صفر پیش از عدد) |
22 |
10 | i
دقیقه ( 0 – 59 ) |
23 |
11 | j
روز ماه جاری (اعداد تک رقمی بدون یک صفر پیش از عدد) |
20 |
12 | l (حرف کوچک ‘L’)
روز هفته |
Thursday |
13 | L
کبیسه بودن سال (‘1’ بله, ‘0’ خیر) |
1 |
14 | m
ماه جاری سال کنونی (عدد – اعداد تک رقمی با یک صفر پیش از عدد) |
1 |
15 | M
ماه جاری سال کنونی (سه کاراکتر) |
Jan |
16 | r
فرمت RFC 2822 |
Thu, 21 Dec 2000 16:01:07 +0200 |
17 | n
ماه جاری سال کنونی (عدد – اعداد تک رقمی بدون یک صفر پیش از عدد) |
2 |
18 | s
ثانیههای گذشته شده از دقیقه جاری |
20 |
19 | U
تایماستامپ |
948372444 |
20 | y
سال (دو رقم) |
06 |
21 | Y
سال (چهار رقم) |
2006 |
22 | z
روز کنونی سال جاری (0 – 365) |
206 |
23 | Z
افست ثانیهها از GMT |
+5 |
حال برای مثال کد زیر را در یک فایل وارد کرده و آن را اجرا کنید:
<?php print date("m/d/y G.i:s<br>", time()); print "Today is "; print date("j of F Y, \a\\t g.i a", time()); ?>
خروجی کد بالا مانند زیر خواهد بود:
04/23/17 10.02:17<bthu, 23=”” apr=”” 2017=”” 10:02:17=”” +0000=””>Today is 23 2017s April 2017, at 10.02 am
در جلسه بعدی با شمسی سازی تاریخ در php آشنا خواهیم شد.
دیدگاه خود را بنویسید