دارای 5 پارامتر که فقط پارامتر اوّل آن الزامی است ، بقیه ی پارامترها اختیاری اند و در صورت وارد نشدن یا خالی ''
گذاشتن آن ها ، مقدار پیشفرض برایشان وارد می شود.
این تابع مشابه تابع date است و تقریباً عملکردی مانند آن دارد ، امّا بر اساس تاریخ هجری شمسی عمل می کند.
وظیفه ی این تابع ، ایجاد قالب های دلخواهی از تاریخ و عناصر زمان می باشد که با قرار دادن چیدمان خاصی از کاراکترها در پارامتر اوّل آن ، قالب خروجی زمان را تعیین می نماییم.
string jdate ( string $format [, int $timestamp = time() [, string $none = "" [, string $timezone = "Asia/Tehran" [, string $tr_num = "fa" ]]]] )
jdate( $format , $timestamp , $none , $time_zone , $tr_num );
date(?) | الزام ؟ | مقدار پیشفرض | توضیحات | پارامترها |
+ | الزامی | '' |
قالب نمایشی اطلاعات خروجی | $format |
+ | اختیاری | time() = زمان فعلی | timestamp برچسب زمانی دلخواه ورودی | $timestamp |
! | اختیاری | '' |
این پارامتر را فعلاً خالی بگذارید | $none |
! | اختیاری | Asia/Tehran | منطقه ی زمانی جهت محاسبه ی اختلاف ساعت | $time_zone |
! | اختیاری | fa | زبان اعداد خروجی ، فارسی یا انگلیسی | $tr_num |
پارامترهای تابع jdate
format$ : پارامتر اوّل ، که با قرار دادن یک یا چند کاراکتر ( از جدول کاراکترهای پارامتر اوّل تابع jdate ) در آن ، قالب دلخواهی از زمان را در خروجی تابع دریافت خواهیم نمود. مثلاً کاراکتر 'f' کوچک ، برای نمایش نام فصل و کاراکتر 'F' بزرگ ، برای نمایش نام ماه به حروف است. حتّی می توان با کنار هم گذاشتن چند کاراکتر ، یک خروجی مرکّب ساخت. مثلاً 'H:i:s' یک خروجی مرکّب از ساعت و دقیقه و ثانیه را به ما خواهد داد. مثل 21:16:53 و اگر می خواهید یک کاراکتر را به صورت خام خارج کنید و تبدیل نشود ، فقط کافیست قبل از آن \ بگذارید. مثلاً 'H:\i:s' به صورت 21:i:53 خارج خواهد شد. دقّت داشته باشید که بزرگی و کوچکی حروف ، می تواند خروجی را تغییر دهد ، پس مواظب باشید ، کاراکترهای بزرگ و کوچک را اشتباهی وارد نکنید.
timestamp$ : پارامتر دوم ، که اختیاری بوده و مقدار ورودی آن ، برچسب زمان است. اگر برچسب زمان
خاصی را در این پارامتر قرار دهیم ، خروجی تابع کاملاً مطابق با همان زمان خاص خواهد بود ، انگار که الآن دقیقاً همان زمانی است که آن برچسب زمانی را
گرفته ایم. و امّا ، اگر این پارامتر را وارد نکنیم یا خالی ''
بگذاریم ، برچسب زمان فعلی در آن وارد خواهد شد و تمامی اطّلاعات خروجی ، مربوط به همین الآن
است که مقدار پیشفرض ، برابر است با خروجی تابع time در همین حالا.
none$ : پارامتر سوم ، فعلاً در این پارامتر ، چیزی وارد نکنید. در نسخه های بعدی فعّال خواهد شد.
time_zone$ : پارامتر چهارم ، برای تغییر منطقه ی زمانی است. معمولاً زمان سرور سایت ها به وقت گرینویچ
تنظیم شده است. امّا ما به زمانی نیاز داریم که به وقت تهران ، پایتخت جمهوری اسلامی ایران ، تنظیم شده باشد. شاید هم بخواهیم منطقه ی زمانی دیگری را
تعیین کنیم. با این پارامتر ، به راحتی می توانید منطقه ی زمانی مورد نظرتان را در خروجی تابع ، اعمال نمایید. مقدار پیشفرض این پارامتر ، 'Asia/Tehran' یا 'Iran' وارد
شده و اگر آن را خالی ''
بگذارید یا وارد نکنید ، خروجی تابع به وقت تهران است و اختلاف زمانی ، به صورت خودکار در خروجی اعمال می گردد. امّا اگر قصد تغییر
آن را دارید ، فهرست مناطق زمانی را می توانید در نشانی:
http://php.net/manual/en/timezones.php ، مشاهده نموده و منطقه ی مورد نظر خود را در این
پارامتر ، وارد کنید. درضمن ، برای تنظیم به وقت گرینویچ ، می توانید از 'GMT' استفاده نمایید. و اگر مایلید تنظیمات پیشفرض سرور در مورد منطقه ی زمانی اعمال گردد ، 'local' را (با حروف کوچک) در این پارامتر وارد کنید ، البتّه ممکن است سرور سایت با ساعت کشور شما تنظیم نشده باشد.
tr_num$ : پارامتر پنجم ، تنظیم کننده ی زبان اعداد خروجی می باشد و حالت پیشفرض آن 'fa' است ، یعنی اگر آن را وارد نکرده یا خالی بگذاریم ، اعداد خروجی از تابع ، اعداد فارسی خواهند بود. اعداد فارسی برای نمایش در صفحات سایت ، بسیار مناسب و زیبا هستند. امّا همیشه نمی توان از اعداد فارسی استفاده نمود. در مواقعی که قصد دارید محاسباتی بر روی خروجی تابع انجام دهید ، مثلاً آن ها را در عدد دیگری ضرب کنید یا با هم جمع ببندید یا ... ، حتماً باید اعداد را به صورت انگلیسی نوشته باشید تا بتوان از طریق توابع php بر روی آن ها عملیات ریاضی انجام داد. برای این که از این تابع ، اعداد به صورت انگلیسی خارج شوند ، فقط کافیست این پارامتر را برابر با 'en' قرار دهید. توجّه داشته باشید که بزرگی و کوچکی حروف ، مهم است و در این پارامتر ، حتماً باید 'en' یا 'fa' به حروف کوچک انگلیسی وارد گردند.
date(?) | مثال ۲ | مثال ۱ | دامنه | jdate() کاربرد کاراکتر در | کاراکتر |
- | - | - | - | کاراکترها با حروف کوچک | کوچک |
+ | ب.ظ | ق.ظ | ق.ظ | ب.ظ | اوقات روز - به صورت خلاصه | a |
! | ۴ | ۱ | ۱ - ۴ | شماره ی فصل (ربع) از سال | b |
+ | ۱۳۸۹/۱۱/۲۲ ،۰۹:۴۶:۳۱ +۰۳:۳۰ | ۱۳۹۰/۴/۴ ،۱۳:۰۸:۲۶ +۰۴:۳۰ | : طبق نمونه | Y/n/j ,H:i:s P :(ltr) ۱ قالب مرکّب | c |
+ | ۲۳ | ۹ | ۰۱ - ۳۱ | شماره ی روز از ماه - ۲ رقمی | d |
+ | Asia/Tehran | Greenwich | مناطق زمانی | منطقه ی زمانی تنظیم شده | e |
! | زمستان | تابستان | بهار تا زمستان | نام فصل با حروف فارسی | f |
+ | ۱۲ | ۷ | ۱ - ۱۲ | ساعت در روز -۱۲ساعته -۱یا۲رقمی | g |
+ | ۱۲ | ۰۷ | ۰۱ - ۱۲ | ساعت در روز - ۱۲ ساعته - ۲رقمی | h |
+ | ۲۱ | ۱۷ | ۰۰ - ۵۹ | دقیقه در ساعت - ۲ رقمی | i |
+ | ۲۳ | ۲ | ۱ - ۳۱ | شماره ی روز از ماه - ۱یا۲ رقمی | j |
! | ۱۶ | ۷۶.۲ | ۰ - ۱۰۰ | (**.?) در صد باقیمانده از سال | k |
+ | چهار شنبه | شنبه | شنبه تا جمعه | نام روز در هفته - کامل | l |
+ | ۱۰ | ۰۳ | ۰۱ - ۱۲ | شماره ی ماه از سال - ۲رقمی | m |
+ | ۱۰ | ۳ | ۱ - ۱۲ | شماره ی ماه از سال - ۱یا۲رقمی | n |
+ | ۱۳۸۹ | ۱۳۹۱ | شماره ی سال | سال هفته ای (به عدد) چهار رقمی | o |
! | دلو | جوزا | حمل تا حوت | نام باستانی برج ها | p |
! | پلنگ | گاو | موش تا خوک | نام حیوانی سال ها | q |
+ | ۰۹:۴۶:۳۱ +۰۳۳۰ جمعه، ۲۲ بهمن ۱۳۸۹ | ۱۳:۰۸:۲۶ +۰۴۳۰ شنبه، ۴ تیر ۱۳۹۰ | : طبق نمونه | H:i:s O Y F j ,l :(ltr) ۲ قالب مرکّب | r |
+ | ۱۷ | ۰۹ | ۰۰ - ۵۹ | شماره ی ثانیه در دقیقه - ۲ رقمی | s |
+ | ۳۰ | ۳۱ | ۳۱ | ۳۰ | ۲۹ | تعداد روزهای (همان) ماه | t |
+ | ۷۳۹۰۳۱ | ۰۰۰۰۰۰ | : طبق نمونه | میکرو ثانیه - ۶ رقمی | u |
! | هشتاد و نه | نود و یک | از تا نود و نه | سال به حروف - خلاصه ی دو رقمی | v |
+ | ۳ | ۰ | ۰ - ۶ | شنبه=۰ ،عدد روز در هفته (IR) | w |
! | منتظر باشید | منتظر باشید | به زودی | " در دست ساخت " | x |
+ | ۸۹ | ۹۱ | ۰۰ - ۹۹ | سال (به عدد) دو رقمی | y |
+ | ۳۰۴ | ۴۱ | ۰ - (۳۶۴|۳۶۵) | تعداد روز (کامل) گذشته از سال | z |
- | - | - | - | کاراکترها با حروف بزرگ | بزرگ |
+ | بعد از ظهر | قبل از ظهر | : طبق نمونه | اوقات روز _ کامل | A |
+ | ۷۱۰ | ۰۹۸ | ۰۰۰ - ۹۹۹ | GMTزمان اینترنتی،۱.۴۴ دق از۲۳:۰۰ | B |
! | ۱۵ | ۱۴ | ...|۱۵|۱۴|... | شماره ی قرن هجری شمسی | C |
+ | چ | ش | ش تا ج | حرف اوّل نام روز هفته، ش=شنبه | D |
! | منتظر باشید | منتظر باشید | به زودی | " در دست ساخت " | E |
+ | دی | خرداد | فروردین تا اسفند | نام ماه از سال - کامل | F |
+ | ۱۹ | ۷ | ۰ - ۲۳ | ساعت در روز - ۲۴ساعته -۱یا۲رقم | G |
+ | ۱۹ | ۰۷ | ۰۰ - ۲۳ | ساعت در روز - ۲۴ساعته -۲رقمی | H |
+ | ۱ | ۰ | ۰ | ۱ | نشانگر طولانی بودن روز = ۱ | I |
! | بیست و نه | دو | یک تا سی و یک | شماره ی روز از ماه به حروف | J |
! | ۸۳.۳ | ۱۴ | ۱۰۰ - ۰ | (**.?) در صد گذشته از سال | K |
+ | ۰ | ۱ | ۰ | ۱ | سال : کبیسه=۱ و غیر کبیسه=۰ | L |
+ | دی | خر | فر تا اس | نام ماه از سال - خلاصه | M |
+ | ۳ | ۷ | ۱ - ۷ | یک شنبه=۱ ،عدد روز در هفته (IR) | N |
+ | +۰۳۳۰ | +۰۴۳۰ | -۱۲۰۰ ، +۱۴۰۰ | ":" اختلاف ساعت جهانی - بدون | O |
+ | +۰۳:۳۰ | +۰۴:۳۰ | -۱۲:۰۰ ، +۱۴:۰۰ | ":" اختلاف ساعت جهانی - با | P |
! | ۶۱ | ۳۲۴ | (۳۶۵|۳۶۴) - ۰ | تعداد روز (کامل) باقی مانده از سال | Q |
! | منتظر باشید | منتظر باشید | به زودی | " در دست ساخت " | R |
+ | ام | ام | ام | "واژه ی "ام | S |
+ | IRST | IRDT | مخفف مناطق | مخفّف منطقه ی زمانی تنظیم شده | T |
+ | ۱۲۹۵۴۳۶۴۶۷ | ۱۲۴۳۹۵۵۳۴۶ | : طبق نمونه | timestamp (Unix) برچسب زمانی | U |
! | هزار و سیصد و هشتاد و نه | هزار و سیصد و نود و یک | : طبق نمونه | سال به حروف - کامل | V |
+ | ۴۳ | ۱۱ | ۰۰ - (۵۲|۵۳) | شماره ی این هفته در سال - ۲رقم | W |
! | منتظر باشید | منتظر باشید | به زودی | " در دست ساخت " | X |
+ | ۱۳۸۹ | ۱۳۹۱ | : طبق نمونه | سال (به عدد) چهار رقمی | Y |
+ | ۱۲۶۰۰ | ۱۶۲۰۰ | -۴۳۲۰۰ ، ۵۰۴۰۰ | اختلاف ساعت جهانی به ثانیه | Z |
توضیحات کاراکترهای پارامتر اوّل تابع jdate ^
حروف کوچک
a : نمایش اوقات روز به صورت خلاصه
از ساعت ( 00:00 یا 24:00 ) یا 12:00 شب تـــا 11:59 ظهر ، به صورت "ق.ظ"
و از ساعت 12:00 ظهر تـــا 23:59 یا 11:59 شب ، به صورت "ب.ظ" خواهد بود.
b : شماره ی فصل ( ربع ) از سال
در بهار : "1" و در تابستان : "2" و در پاییز : "3" و در زمستان : "4" خواهد بود.
c : یک نمونه قالب مرکّب به صورت Y/n/j ،H:i:s P
برای مثال: "۱۳۸۹/۱۱/۲۲ ,۰۹:۴۶:۳۱ +۰۳:۳۰"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
d : شماره ی روز از ماه (برج) ، به صورت 2 رقمی
از "01" تا "29" یا "30" یا "31"
مثلاً در یکم ، "01" و در بیست و دوم ، "22" است.
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
e : نمایش منطقه ی زمانی که برای اعمال اختلاف ساعت جهانی ، تنظیم شده است.
مثلاً برای جمهوری اسلامی ایران ، "Asia/Tehran" ( یا "Iran" ) است.
f : نام فصل از سال به حروف فارسی
"بهار" یا "تابستان" یا "پاییز" یا "زمستان"
g : نمایش ساعت در روز ، 12 ساعته ، 1 یا 2 رقمی
از "1" تا "12"
مثلاً برای ساعت 7 صبح و 7 عصر ، به صورت "7" است.
اعداد تک رقمی به صورت تک رقمی و اعداد دو رقمی به صورت دو رقمی هستند.
h : نمایش ساعت در روز ، 12 ساعته ، 2 رقمی
از "01" تا "12"
مثلاً برای ساعت 7 صبح و 7 عصر ، به صورت "07" است.
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
i : نمایش دقیقه در ساعت ، 2 رقمی
از "00" تا "59"
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
j : شماره ی روز از ماه (برج) ، به صورت 1 یا 2 رقمی
از "1" تا "29" یا "30" یا "31"
مثلاً در یکم ، "1" و در بیست و دوم ، "22" است.
اعداد تک رقمی به صورت تک رقمی و اعداد دو رقمی به صورت دو رقمی هستند.
k : نمایش درصد باقی مانده از سال ، با امکان یک رقم اعشار
از "100" تا "0"
مثلاً در اوّل سال ، "100" و در آخر سال ، "0" است.
مثل : "51.6" یا "27" یا "16.3" یا "78.2" یا "91" و ...
l : نام فارسی روز در هفته ، به صورت کامل
"شنبه" یا "یکشنبه" یا "دوشنبه" یا "سه شنبه" یا "چهارشنبه" یا "پنجشنبه" یا "جمعه"
m : شماره ی ماه ( برج ) از سال ، به صورت 2 رقمی
از "01" برای فروردین ، تا "12" برای اسفند
مثلاً در تیر ، "04" و در دی، "10" است.
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
n : شماره ی ماه ( برج ) از سال ، به صورت 1 یا 2 رقمی
از "1" برای فروردین ، تا "12" برای اسفند
مثلاً در تیر ، "4" و در دی ، "10" است.
اعداد تک رقمی به صورت تک رقمی و اعداد دو رقمی به صورت دو رقمی هستند.
o : عدد سال هفته ای ، 4 رقمی
شماره ی سال را به صورت 4 رقمی نشان می دهد.
امّا در هفته هایی که قسمتی از آن در سال قبل و بقیه ی آن در سال بعد است ، در تمام طول
آن هفته ، شماره ی سالی را نشان خواهد داد که قسمت بیشتر هفته در آن سال قرار دارد.
p : نمایش نام باستانی هر یک از برج های سال ، بر اساس صورت های فلکی
در فروردین: "حمل" _ در اردیبهشت: "ثور" _ در خرداد: "جوزا"
در تیر: "سرطان" _ در مرداد: "اسد" _ در شهریور: "سنبله"
در مهر: "میزان" _ در آبان: "عقرب" _ در آذر: "قوس"
در دی: "جدی" _ در بهمن: "دلو" _ در اسفند: "حوت"
q : نمایش نام حیوانی سال ها
طبق یک دوره ی 12 ساله که دائماً تکرار می شود ، از راست به چپ ، عبارت اند از:
"موش" _ "گاو" _ "پلنگ" _ "خرگوش" _ "نهنگ" _ "مار"
"اسب" _ "گوسفند" _ "میمون" _ "مرغ" _ "سگ" _ "خوک"
r : یک نمونه قالب مرکّب به صورت H:i:s O Y F j ،l
برای مثال: "۹:۴۶:۳۱ +۰۳۳۰ جمعه, ۲۲ بهمن ۱۳۸۹"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
s : نمایش ثانیه در دقیقه ، 2 رقمی
از "00" تا "59"
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
t : نمایش تعداد روز های آن ماه ( برج )
"29" یا "30" یا "31"
برای برج های 1 تا 6 ، "31" و برای برج های 7 تا 11 ، "30" می باشد.
برای برج 12 ( اسفند ) سال های کبیسه ، "30" و سال های غیر کبیسه ، "29" است.
u : نمایش میکرو ثانیه ، یک عدد 6 رقمی
مثلاً: "000000" یا "739031" یا "004126" و ...
ممکن است در بعضی سرورها فعّال نباشد و همیشه به صورت "000000" نمایش داده شود.
v : نمایش سال خلاصه شده به حروف فارسی
مثلاً: "هشتاد و نه" برای 1389 و "نود" برای 1390 و "چهار" برای 1404 و ...
w : عدد روز در هفته ، 0 تا 6
مثلاً: "0" برای شنبه و "1" برای یکشنبه و "6" برای جمعه
آغاز هفته از روز شنبه حساب می شود.
x : در دست ساخت
این کاراکتر ، در نسخه های بعدی نرم افزار ، فعّال خواهد شد.
منتظر بمانید.
y : عدد سال ، به صورت خلاصه ی 2 رقمی
از "00" تا "99"
مثلاً: "89" برای 1389 و "90" برای 1390 و "04" برای 1404 و ...
z : نمایش تعداد روزهای کامل سپری شده از سال
از "0" تا "364" یا "365"
مثلاً: "0" برای یکم فروردین و "19" برای بیستم فروردین و "50" برای بیستم اردیبهشت و ...
حروف بزرگ
A : نمایش اوقات روز به صورت کامل
از ساعت ( 00:00 یا 24:00 ) یا 12:00 شب تـــا 11:59 ظهر ، به صورت "قبل از ظهر"
و از ساعت 12:00 ظهر تـــا 23:59 یا 11:59 شب ، به صورت "بعد از ظهر" خواهد بود.
B : زمان اینترنتی به وقت جهانی ، یک عدد 3 رقمی
از "000" تا "999"
بر حسب 1.44 دقیقه ی گذشته از ساعت 23:00 به وقت گرینویچ
C : شماره ی قرن (سده ی) هجری شمسی
مثلاً از سال 1301 تا 1400 ، قرن "14" می باشد.
و از سال 1401 تا 1500 ، جزء قرن "15" ام هجری شمسی خواهد بود.
D : حرف اوّل نام روز در هفته
مثلاً: "ش" برای شنبه و "د" برای دوشنبه و ...
"ش" یا "ی" یا "د" یا "س" یا "چ" یا "پ" یا "ج"
E : در دست ساخت
این کاراکتر ، در نسخه های بعدی نرم افزار ، فعّال خواهد شد.
منتظر بمانید.
F : نام فارسی ماه ( برج ) از سال به صورت کامل
"فروردین" _ "اردیبهشت" _ "خرداد" _ "تیر" _ "مرداد" _ "شهریور"
"مهر" _ "آبان" _ "آذر" _ "دی" _ "بهمن" _ "اسفند"
G : نمایش ساعت در روز ، 24 ساعته ، 1 یا 2 رقمی
از "0" تا "23"
مثلاً: "7" برای ساعت 7 صبح و "19" برای ساعت 7 عصر می باشد.
اعداد تک رقمی به صورت تک رقمی و اعداد دو رقمی به صورت دو رقمی هستند.
H : نمایش ساعت در روز ، 24 ساعته ، 2 رقمی
از "00" تا "23"
مثلاً: "07" برای ساعت 7 صبح و "19" برای ساعت 7 عصر می باشد.
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
I : نشانگر طولانی تر بودن روز و جلو کشیده شدن ساعت
طبق معمول ، در نیمه ی اوّل هر سال، ساعت رسمی کشور به جلو و در پایان نیمه ی اوّل
سال ، به عقب باز می گردد که در جمهوری اسلامی ایران ، مقدار تغییر ، 1 ساعت است.
اگر ساعت توسّط نرم افزار به صورت خودکار به جلو کشیده شده باشد ، مقدار این کاراکتر،
"1" خواهد بود وگرنه ، "0" است که در سرورهایی با تنظیمات استاندارد ، انجام می شود.
جلو کشیدن ، از ساعت 24.00 ، یکم فروردین تا سی ام شهریور هر سال انجام می شود.
J : نمایش شماره ی روز از ماه (برج) به حروف
از "یک" تا "سی و یک" ( یا "سی" یا "بیست و نه" )
K : نمایش درصد سپری شده از سال ، با امکان یک رقم اعشار
از "0" تا "100"
مثلاً در اوّل سال ، "0" و در آخر سال ، "100" است.
مثل : "48.4" یا "73" یا "83.7" یا "11.8" یا "9" و ...
L : نشانگر کبیسه بودن سال
"1" برای سال کبیسه و "0" برای سال غیر کبیسه
اسفند سال های کبیسه ، 30 روزه است ، امّا اسفند سال های غیر کبیسه ، 29 روزه است.
معمولاً در دوره های 4 ساله ، 3 سال معمولی و 1 سال کبیسه است ، امّا این دائمی نیست.
M : دو حرف اوّل نام ماه ( برج ) از سال
مثلاً: "ار" برای اردیبهشت و "دی" برای دی و ...
"فر" _ "ار" _ "خر" _ "تی" _ "مر" _ "شه" _ "مه" _ "آب" _ "آذ" _ "دی" _ "به" _ "اس"
N : عدد روز در هفته ، 1 تا 7
مثلاً: "7" برای شنبه و "1" برای یکشنبه و "6" برای جمعه
آغاز هفته از روز شنبه حساب می شود.
O : نمایش اختلاف ساعت جهانی تنظیم شده ، بدون دو نقطه
مثلاً برای جمهوری اسلامی ایران ، "0330" برای مواقع عادی
و "0430" برای روزهایی که ساعت به جلو کشیده شده است.
( از ساعت 24.00 ، یکم فروردین تا سی ام شهریور هر سال )
P : نمایش اختلاف ساعت جهانی تنظیم شده ، با دو نقطه
مثلاً برای جمهوری اسلامی ایران ، "03:30" برای مواقع عادی
و "04:30" برای روزهایی که ساعت به جلو کشیده می شود.
( از ساعت 24.00 ، یکم فروردین تا سی ام شهریور هر سال )
Q : نمایش تعداد روزهای کامل باقی مانده از سال
از "364" یا "365" تا "0"
مثلاً: "0" برای روز آخر سال
R : در دست ساخت
این کاراکتر ، در نسخه های بعدی نرم افزار ، فعّال خواهد شد.
منتظر بمانید.
S : نمایش واژه ی "ام"
T : نمایش مخفف منطقه ی زمانی که برای اعمال اختلاف ساعت جهانی ، تنظیم شده.
مثلاً برای جمهوری اسلامی ایران ، "IRST" برای مواقع عادی
و "IRDT" برای روزهایی که ساعت به جلو کشیده می شود.
( از ساعت 24.00 ، یکم فروردین تا سی ام شهریور هر سال )
U : برچسب زمان یونیکس ، Unix timestamp
تعداد ثانیه هایی که از روز 1/1/1970 میلادی ، دقیقاً ساعت 00:00:00 به وقت گرینویچ
گذشته است. عدد این برچسب بسیار مفید ، قابل تبدیل به هر قالبی از زمان می باشد
V : نمایش سال کامل به حروف فارسی
مثلاً: "هزار و سیصد و هشتاد و نه" برای 1389
و "هزار و سیصد و نود" برای 1390
و "هزار و چهارصد و چهار" برای 1404 و ...
W : شماره ی این هفته در سال ، 2 رقمی
از "01" تا "52" یا "53"
آغاز هر هفته از روز شنبه حساب می شود.
وقتی قسمتی از یک هفته در سال قبل و بقیه ی آن در سال بعد باشد، اگر بخش بیشتر هفته
در سال قبل باشد ، در تمام طول آن هفته ، شماره ی آن در سال قبل که "52" یا "53" است،
نمایش داده می شود. امّا اگر بخش بیشتر هفته در سال بعد باشد، در تمام طول همان هفته،
شماره ی آن در سال بعد که "01" است ، نمایش داده می شود . به عبارت دیگر ، آن هفته به
به صورت کامل ، جزء سالی به حساب خواهد آمد که قسمت بزرگ تر هفته در آن سال باشد .
X : در دست ساخت
این کاراکتر ، در نسخه های بعدی نرم افزار ، فعّال خواهد شد.
منتظر بمانید.
Y : عدد سال ، به صورت کامل 4 رقمی
مثلاً: "1389" و "1390" و "1404" و ...
Z : نمایش اختلاف ساعت جهانی تنظیم شده ، بر حسب ثانیه
مثلاً برای جمهوری اسلامی ایران ، "12600" برای مواقع عادی
و "16200" برای روزهایی که ساعت به جلو کشیده می شود.
( از ساعت 24.00 ،یکم فروردین تا سی ام شهریور هر سال )
آموزش استفاده از تابع jdate ^
ابتدا برای درک بهتر مطالب ، فقط از پارامتر اوّل این تابع استفاده می کنیم و شیوه ی گرفتن قالب های مختلفی از خروجی را یاد می گیریم. به مثال ها هم توجّه کنید که نکات خاصی را بیان می کنند. این ها فقط مثال هستند ، می توانید از هر کاراکتر دیگری هم به جای آن ها استفاده کنید.
در مثال اوّل ، یک قالب تک کاراکتری می سازیم و خروجی ( نوشته های قرمز رنگ ) را خواهیم داشت. نوشته های سیاه رنگ نیز توضیحات هستند. برای نمایش خروجی ها در صفحه ی مرورگر ، می توانید از echo استفاده کنید. مثلاً: echo jdate('F');
/* نکته: اهمّیّت حروف بزرگ و کوچک در نام تابع و کاراکترهای پارامترها */
jdate('F');// بهمن
jdate('f');// زمستان
jdaTe('f');// خطا ، نام تابع ، اشتباه است
/* ترکیب دو یا چند کاراکتر با حروف اضافه
در یک خروجی */
jdate('H i s');// 10 26 53
jdate('H:i:s');// 10:26:53
jdate('Y/n/j');// 1389/11/22
jdate('Y F j');// 22 بهمن
1389
jdate('V F J');// بیست و دو بهمن هزار و سیصد و هشتاد و
نه
/* خارج کردن بعضی از کاراکترها یا حروف ، به صورت خام و تبدیل نشده با گذاشتن \ قبل از آن ها
*/
/* منظور از کاراکتر ، تمامی حروف بزرگ و کوچک انگلیسی است که در جدول مربوطه نیز فهرست شده اند */
jdate('H:i:s');// 10:26:53
jdate('H:\i:s');// 10:i:53
jdate('H : \i\r\a\n');// 10 : iran
jdate('\HH');// H10
jdate('H\H');// 10H
jdate('H\ H');// 10 10
jdate('\HH\H');// H10H
jdate('\H\o\u : H _ \M\i\n : i _ \S\e\c : s');// Hou : 10 _ Min : 26 _ Sec : 53
/*
نکته: قبل از کاراکترهای خاص مثل ' و " حتماً از \
استفاده شود */
jdate(" \" H \" ");// " 10 "
jdate(' \' H \' ');// ' 10 '
/* البتّه بستگی به شرایط دارد */
jdate(' " H " ');// " 10 "
jdate(" ' H ' ");// ' 10 '
/* برای خارج کردن خام خود کاراکتر \ از سه تا \ در قبل از آن استفاده شود که با خودش می شوند چهار تا */
jdate('\\\\');//
\
jdate('\\\\H');// \10
jdate('\\\\\H');// \H
//
/* ترکیب حروف اضافه با کلمات خروجی
*/
jdate('F');
// بهمن
jdate('Fماه');
// بهمنماه
jdate('F ماه');
// بهمن ماه
jdate('ماه F');
// ماه بهمن
jdate('J');
// بیست و دو
jdate('Jم');
// بیست و دوم
jdate('Jمین');
// بیست و دومین
jdate('امروز : Jم F است');
// امروز : بیست و دوم بهمن است
jdate('امروز l است');
// امروز جمعه است
//
/* مرتّب کردن ترکیب حروف و اعداد اضافه در خروجی با ساختار پیچیده */
/* ترکیب های پیچیده ، ممکن است نامرتّب یا جا به جا
، نمایش داده شوند. */
/* حتماً آن ها را در بین تگ <span dir=ltr></span> قرار دهید. (چپ به راست) */
/* چند الگوی کاربردی زیر ،
از قبل مرتّب شده اند. می توانید از این ها استفاده نمایید. */
/* این الگوها را می توانید ویرایش کنید. حتماً بین تگ <span dir=ltr></span>
قرار گیرند. */
jdate('c');
// <span dir=ltr>۱۳۸۹/۱۱/۲۲ ,۱۰:۲۶:۵۳ +۰۳:۳۰</span>
// ۱۳۸۹/۱۱/۲۲ ,۱۰:۲۶:۵۳ +۰۳:۳۰
jdate('r');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳۳۰ جمعه, ۲۲ بهمن ۱۳۸۹</span>
// ۱۰:۲۶:۵۳ +۰۳۳۰ جمعه, ۲۲ بهمن ۱۳۸۹
jdate('H:i:s O ,l, j F Y');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳۳۰ ,جمعه, ۲۲ بهمن ۱۳۸۹</span>
// ۱۰:۲۶:۵۳ +۰۳۳۰ ,جمعه, ۲۲ بهمن ۱۳۸۹
jdate('H:i:s P | l, j / F / Y');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ / بهمن / ۱۳۸۹</span>
// ۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ / بهمن / ۱۳۸۹
jdate('H:i:s P | l, j F Y');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ بهمن ۱۳۸۹</span>
// ۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ بهمن ۱۳۸۹
jdate('l, J / F / V');
// <span dir=ltr>جمعه, بیست و دو / بهمن / هزار و سیصد و هشتاد و نه</span>
// جمعه, بیست و دو / بهمن / هزار و سیصد و هشتاد و نه
jdate('l, J F V');
// <span dir=ltr>جمعه, بیست و دو بهمن هزار و سیصد و هشتاد و نه</span>
// جمعه, بیست و دو بهمن هزار و سیصد و هشتاد و نه
jdate('H:i:s P ,Y/n/j');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳:۳۰ ,۱۳۸۹/۱۱/۲۲</span>
// ۱۰:۲۶:۵۳ +۰۳:۳۰ ,۱۳۸۹/۱۱/۲۲
jdate('H:i:s ,Y/n/j');
// <span dir=ltr>۱۰:۲۶:۵۳ ,۱۳۸۹/۱۱/۲۲</span>
// ۱۰:۲۶:۵۳ ,۱۳۸۹/۱۱/۲۲
jdate('H:i:s e ,Y/n/j');
// <span dir=ltr>۱۰:۲۶:۵۳ IRST ,۱۳۸۹/۱۱/۲۲</span>
// ۱۰:۲۶:۵۳ Asia/Tehran ,۱۳۸۹/۱۱/۲۲
jdate('H:i:s T ,Y/n/j');
// <span dir=ltr>۱۰:۲۶:۵۳ IRST ,۱۳۸۹/۱۱/۲۲</span>
// ۱۰:۲۶:۵۳ IRST ,۱۳۸۹/۱۱/۲۲
مقدار پیشفرض برای پارامترهای اختیاری
در این تابع ، به غیر از پارامتر اوّل ، بقیه ی پارامترها اختیاری هستند. اگر پارامترهای اختیاری را وارد نکنید و یا مقدار آن ها را خالی ''
بگذارید (در این نرم افزار) ، مقدار پیشفرض برای آن ها وارد خواهد شد. به چند مثال زیر توجّه فرمایید.
مثلاً می خواهیم زبان اعداد خروجی ، انگلیسی باشد ، امّا بقیه ی پارامترهای اختیاری ، به صورت پیشفرض وارد گردند
jdate('H:i:s','','','','en');
و یا منطقه ی اختلاف ساعت جهانی را به وقت گرینویچ تنظیم کنیم ، امّا پارامترهای اختیاری دیگر ، به صورت پیشفرض باشند
jdate('H:i:s','','','GMT');
یا برچسب زمان دلخواه خود را در تابع وارد کنیم ، امّا پارامترهای اختیاری دیگر ، به صورت پیشفرض وارد شوند
jdate('H:i:s','1295436467');
و اگر خواستیم که همه ی پارامترهای اختیاری ، با مقادیر پیشفرض خود وارد شوند
jdate('H:i:s');
برطرف کردن خطای زمان سرور
ممکن است زمان سرور شما چند دقیقه خطا داشته باشد. برای رفع این خطا چندین راه وجود دارد.
راه اوّل ، تنظیم دقیق زمان سرور است. امّا اگر سرور متعلّق به شما نیست و از یک هاست (فضای کرایه ای) استفاده می کنید ، باید از روش های دیگر استفاده نمایید.
راه دوم ، خنثی کردن خطا در پارامتر دوم تابع jdate است. فقط کافیست مقدار این خطا را به ثانیه حساب کرده و در پارامتر دوم اعمال نمایید. مثلاً اگر زمان سرور شما 2 دقیقه و 27 ثانیه جلو است ، باید آن را به همین مقدار ، عقب بکشید. ابتدا 2 دقیقه را در عدد 60 ضرب می کنیم تا به ثانیه تبدیل شود ، سپس عدد حاصل (120) را با 27 جمع می کنیم. آنگاه پارامتر دوم تابع jdate را به صورت
jdate('H:i:s',time()-147);
وارد می کنیم تا 147 ثانیه به عقب کشیده شود. برای عقب کشیدن از تفریق ( - ) و برای جلو کشیدن از جمع ( + ) استفاده می نماییم.
راه سوم ، از طریق فایل نرم افزار (jdf.php) است. ابتدا آن را به وسیله ی یک ویرایشگر حرفه ای باز کنید. ( هشدار: به دلیل UTF-8 بودن فایل ، هرگز آن را با نوت پد معمولی ویندوز ، ویرایش یا ذخیره نکنید. ) سپس در ابتدای تابع jdate ، مقدار $T_sec=0; را از صفر به مقدار مورد نظرتان بر حسب ثانیه تغییر دهید. اگر قصد عقب کشیدن زمان را دارید ، آن را به صورت یک عدد منفی وارد کنید ، مثلاً:
$T_sec=-147;
راه چهارم ، خنثی کردن خطا در هنگام ذخیره یا نمایش زمان کنونی می باشد.
که بهترین راه برای اصلاح خطای زمان سرور ، همین راه است.
اگر قصد ذخیره ی برچسب زمان در دیتابیس را داشتید ، ابتدا خطای آن را با همان روش جمع یا تفریق ذکر شده ، خنثی کنید.
و اگر قصد نمایش زمان کنونی را در صفحات سایت دارید ، خطا را در پارامتر دوم توابع jdate یا jstrftime ، خنثی نمایید.
به این ترتیب ، در هنگام نمایش تاریخ های ذخیره شده در دیتابیس نیز ، خطای آن ها قبل از ذخیره کردن ، برطرف شده است.
# آموزش کامل توابع جدید #
jdate jstrftime jmktime jgetdate jcheckdate tr_num آموزش مبتدی از صفر حمایت مالی
# آموزش کامل توابع جدید #
gregorian_to_jalali jalali_to_gregorian jdate_words به کـار گیـری توابع نکات و هشدارها include_once عضویت در کانال ما دریافت (دانلود) فایل و راهنما
نشانی کوتاه این صفحه: