سلام کاربرای عزیز ، درهمه زبانهای برنامه نویسی یادگیر ی ایجاد تاریخ شمسی و.. یکی از بحث های مهم در راستای طراحی وب است.در طول روز آنقدر با تاریخ سر و کار داریم که دیگر برای کار کردن با آن نیازی به برنامه ریزی و فکر کردن نداریم.PHP ابزار قدرتمندی برای تاریخ ریاضی {date arithmetic} در اختیار شما قرار می دهد که فرایند دستکاری و تغییر تاریخ را سهولت می بخشد.
به دست آوردن TIME STAMP {تمبر درج زمان} با time()
تابع، عملکرد time() در PHP تمام اطلاعات مربوط به زمان و تاریخ جاری مورد نیاز را در اختیار شما قرار می دهد. با اینکه به آرگومان {arguement} نیازی ندارد، integer باز می گرداند.
Integer {عدد صحیح} ای که با تابع time() باز می گردد، تعداد ثانیه هایی که از تاریخ نیمه شب January 1، ۱۹۷۰ بر اساس GMT گذشته را نشان می دهد. این لحظه UNIX epoch خوانده می شود و به تعداد ثانیه هایی که از آن زمان سپری شده اند time stamp گفته می شود.
<?php
print time();
?>
نتیجه ی زیر به دست می آید.
۹۴۸۳۱۶۲۰۱
البته فهم این نتایج دشوار است. با این وجود PHP ابزاری را فراهم می کند که time stamp را به نوع داده ای که ما متوجه می شویم تبدیل می کند.
تبدیل TIME STAMP با getdate()
عملکرد getdate() به دلخواه یک time stamp را پذیرفته و آریه ای شرکت پذیر {associative array} دربردارنده ی اطلاعات مربوط به تاریخ {date} را در نتیجه برمی گرداند. اگر شما time stamp را حذف کنید، با time stamp جاری که با time() برگردانده {return} می شود، کار می کند.
جدول زیر عناصر درون آرایه که با تابع getdate() بازگردانده می شود را لیست می کند.
Key {کلید}
Description {شرح کاربرد}
مثال
Seconds{ثانیه ها}
ثانیه هایی که پس از دقایق نشان داده می شوند(۵۹-۰)
۲۰
Minutes{دقایق}
دقایقی که پس از ساعت{hour} نشان داده می شود(۵۹-۰)
۲۹
Hours{ساعت ها}
ساعاتِ روز (۲۳-۰)
۲۲
Mday {دوشنبه}
یک روز از ماه (۳۱-۱)
۱۱
Wday{چهارشنبه}
یک روزِ هفته(۶-۰)
۴
mon
یک ماه از سال(۱۲-۱)
۷
Year{سال}
سال(۴ رقم)
۱۹۹۷
Yday{روز سال}
روزِ سال(۳۶۵-۰)
۱۹
Weekday{روز هفته}
روز هفته
Thursday{سه شنبه}
Month{ماه}
ماهِ سال
January{ژانویه}
۰
Timestamp
۹۴۸۳۷۰۰۴۸
اکنون شما کنترل و تسلط کامل بر زمان و تاریخ دارید. می توانید تاریخ و زمان را در هر قالب و صورتی که دوست دارید format یا شکل بندی کنید.
مثال
مثال زیر را امتحان کنید.
$date_array = getdate();
foreach ( $date_array as $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 = 27
minutes = 25
hours = 11
mday = 12
wday = 6
mon = 5
year = 2007
yday = 131
weekday = Saturday
month = May
۰ = ۱۱۷۸۹۹۴۳۲۷
Today’s date: 12/5/2007
تابع date() رشته ای قالب بندی شده {formatted string} را در نتیجه باز می گرداند که تاریخ {date} را نشان می دهد.شما بوسیله آرگومان رشته ای که باید به date() بدهید می توانید کنترل زیادی بر فرمتی که برمی گرداند داشته باشید.
date(format، )
تابع date() بطور اختیاری timestamp را می پذیرد اگر حذف شده باشد زمان و تاریخ جاری را به کار می برد. هر اطلاعات دیگری که در ارایه رشته ای که به date() داده می شود در مقدار بازگشتی گنجانده می شود.
جدول زیر کدهایی که ارایه رشته ای می تواند در خود جای دهد فهرست کرده.
Format{فرمت}
Description{شرح کاربرد}
مثال
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، ۲۱ Dec 2000 16:01:07 +0200
n
ماهِ سال(رقم-بدون صفر آغازین)
۲
s
ثانیه های یک ساعت
۲۰
U
Time stamp
۹۴۸۳۷۲۴۴۴
y
سال(دو رقم)
۰۶
Y
سال(چهار رقم)
۲۰۰۶
z
روزِ سال(۳۶۵-۰)
۲۰۶
Z
افست به ثانیه براساس GMT
+۵
مثال
مثال زیر را امتحان کنید.
print date(“m/d/y G.i:s
”، time());
print “Today is “;
print date(“j of F Y، \a\\t g.i a”، time());
?>
نتیجه ی زیر حاصل می گردد.
۰۱/۲۰/۰۰ ۱۳٫۲۷:۵۵
Today is 20 of January 2000، at 1.27 pm
امیدوارم در این بخش شیوه ی فرمت کردن زمان و تاریخ بر اساس نیازِتان را آموخته باشید.