خرید بک لینک

تاریخ همیشه بخش مهمی زندگی روزمره را تشکیل میدهد و باعث میشود بتوانیم به انجام همه کارهای خود برسیم. توابع مربوط به ساعت و تاریخ در پیاچپی بسیار مهم هستند. نیاز به نمایش تاریخ و ساعت هم در مواقع ثبت اطلاعات و هم در مواقع نمایش دادن اطلاعات وجود دارد. پیاچپی ابزارهای بسیار قدرتمندی را به منظور استفاده از تاریخ و ساعت در اختیار توسعهدهندگان میگذارد.

دریافت زمان با ()time

تابع ()time تمام اطلاعات لازم برای لحظه حاضر از تاریخ و ساعت را در اختیار شما قرار خواهد داد. این تابع نیاز به هیچ آرگومان ورودی ندارد اما یک رشته متنی را خروجی میدهد.

رشته متنی که از این تابع برگردانده میشود تعداد ثانیههای سپری شده از نیمه شب ۱ ژانویه ۱۹۷۰ را به وقت GMT نشان میدهد. زمان حاضر به شکل UNIX نمایش مییابد که این یعنی تعداد ثانیههای گذشته شده از یک زمان مرجع.

برای نمایش خروجی این تابع ابتدا نرم افزار Xampp را اجرا کرده و سرورهای آپاچی و MySQL را فعال کنید. حال در پوشه htdocs یک پوشه به اسم time بسازید. در این پوشه فایلی به نام test.php ساخته و کد زیر را در آن قرار دهید.

<?php

echo time();

?>

اجرای کد فوق از طریق آدرس http://127.0.0.1/time/index.php باعث ایجاد نتیجهای مثل عدد 1466669416 خواهد شد.

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

تابع ()getdate

تابع ()getdate میتواند timstamp (خروجی که از تابع ()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 = 18

minutes = 10

hours = 8

mday = 23

wday = 4

mon = 6

year = 2016

yday = 174

weekday = Thursday

month = June

0 = 1466669418

Today's date: 23/6/2016

تبدیل تایماستامپ با تابع ()date

تابع ()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());
?>

خروجی کد بالا به شکل زیر خواهد بود:

06/23/16 8.10:17<bthu, 23="" jun="" 2016="" 08:10:17="" +0000="">Today is 23 2016f June 2016, at 8.10 am

اما تمام آنچه گفته شد فقط برای تاریخهای میلادی بکار میروند و برای استفاده از تاریخ شمسی باید از یک کلاس خارجی استفاده کنید. اینکه کلاس خارجی چیست فعلا نباید مد نظر شما باشد. اگر به خاطر داشته باشید روش include کردن فایلها را در جلسات گذشته مرور کردیم. شما باید فایل مربوط به کلاس تاریخ شمسی را به فایل مورد نظر خود که قصد استفاده از تاریخ شمسی را در آن دارید inlcude کرده و سپس به جای تابع ()date از ()jdate استفاده کنید. تمامی عملکردهای تابع ()jdate دقیقا شبیه به تابع ()date است. ابتدا فایل jdf.php را از این لینک دانلود کنید و سپس فایل jdf.php را در کنار فایل مورد نظر خود به عنوان مثال در پوشه time که در پوشه htdocs ساخته بودید قرار دهید. سپس در فایلی که قصد استفاده از تاریخ هجری شمسی را در آن دارید فایل jdf.php را include کنید. به عنوان مثال به کد زیر دقت کنید:

<?php

include ("jdf.php");

print jdate("j of F Y, a\t g.i a", time());
?>

در کد بالا ما فقط date را به jdate تغییر دادیم. در این صورت نتیجه اجرای کد فوق چیزی شبیه به زیر خواهد بود:

۳ ۱۳۹۵ تابستان تیر ۱۳۹۵, at ۱.۵۴ ب.ظ

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

<?php

include ("jdf.php");

print jdate("j F Y - h:s", time());
?>

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

۳ تیر ۱۳۹۵ - ۰۱:۲۸

قطعا فرمت بالا نسبت به فرمت قبلی برای کاربران فارسی زبان گویاتر است. لازم به ذکر است که در فایلی که در بالا لینک دانلود آن را قرار دادیم، راهنمای کامل تابع jdate نیز وجود دارد که از سایت رسمی سازنده آن منتشر شده و برای یادگیری عمیقتر این توابع jdf.php میتوانید به راهنمای موجود در فایل دانلود شده یا وبسایت http://jdf.scr.ir مراجعه کنید.

در جلسات بعدی با مباحث پیشرفتهتر و جزئیتر دیگری در پیاچپی آشنا خواهید شد. نظرات و سوالات خود را در مورد مباحث این جلسه مثل همیشه در بخش دیدگاهها با زومیت و سایر کاربران به اشتراک بگذارید.

برچسب: نویسنده: محمد رضا جوادیان تاريخ: جمعه 4 تير 1395 ساعت: 19:42

صفحه بندی