سبد خرید

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

مبلغ کل
0
تسویه حساب
سبد خرید خالی می باشد

آموزش PHP - جلسه هجدهم: کار با تاریخ و ساعت و تاریخ هجری شمسی
حميد  شریفی
حميد شریفی
تعداد کل دانلود ها : 739100
تعداد کل مطالب : 1351

آموزش PHP - جلسه هجدهم: کار با تاریخ و ساعت و تاریخ هجری شمسی

تعداد دانلود:
0
تعداد بازدید:
1853
تاریخ:
۱۳۹۵-۱۱-۰۲
دسته بندی:

هشتگ ها :

#

در این جلسه از سری آموزشی پی‌اچ‌پی قصد داریم در مورد تاریخ و ساعت صحبت کنیم. مطمئنا مواقع زیادی  پیش می‌آید که نیاز به درج ساعت و تاریخ در پی‌اچ‌پی خواهید داشت و یادگیری توابع مرتبط و نحوه استفاده از آن‌ها بسیار مهم است. در ادامه با ملت وب همراه باشید.

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

دریافت زمان با ()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 مراجعه کنید.

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

محصولات مشابه فروشی
هشتگ ها :

این محصول بدون نظر می باشد شما میتوانید اولین نظر را ثبت کنید

ارسال نظر

آخرین های مشابه مشاهده بیشتر

  • تلفن : 04136383693
  • پیامک : 500020606688
  • آدرس : آذربایجان شرقی، تبریز، شهرک مصلی، خیابان راجی، راجی 4، کوچه بیست هشتم، قطعه 1339، طبقه چهارم

ملت وب در سال 1393 فعالیت خود را در چهار بخش قالب های آماده، طراحی لوگو، طراحی سایت، طراحی بنر آغاز کرده است، که در مدت بسیار کم با تلاش های بی وقفه خود و همکاران توانسته بزرگترین وب سایت ارائه دهنده قالب های با کیفیت در ایران باشد رمز موفقیت شرکت ملت وب پشتیبانی بی دریغ از کاربران خود می باشد ما موقعیت خود را مدیون مشتریان وفادار خود هستیم پس همیشه همراهشان خواهیم بود .

  • logo-samandehi