دارای 5 پارامتر که فقط پارامتر
اوّل آن الزامی است ، بقیه ی پارامترها اختیاری اند و در صورت وارد نشدن یا خالی ''
گذاشتن آن ها ، مقدار پیشفرض برایشان وارد می شود.
این تابع مشابه تابع strftime است و تقریباً عملکردی مانند آن دارد ، امّا بر اساس تاریخ هجری شمسی عمل می کند. روش استفاده از این تابع با تابع jdate شباهت زیادی دارد ، امّا تفاوتشان به این صورت است که در پارامتر اوّل تابع jdate یک قالب دلخواه را وارد می کنید و همه ی کاراکترها تبدیل خواهند شد ، مگر آن هایی که به همراه \ وارد شده باشند. امّا در پاراکتر اوّل تابع jstrftime همه ی کاراکترها به صورت خام و تبدیل نشده خارج می شوند ، مگر آن هایی که همراه با % وارد شده باشند. البتّه کاربرد بسیاری از کاراکترهای (حروف) قالب در دو تابع jdate و jstrftime با یکدیگر تفاوت دارد که کاربرد هرکدام را می توانید از جدول های راهنما بیابید. کاربرد بهتر این تابع برای مواردی است که قصد نمایش قالب هایی از تاریخ و زمان را در میان یک متن داریم ، یعنی برعکس تابع jdate .
string jstrftime ( string $format [, int $timestamp = time() [, string $none = "" [, string $timezone = "Asia/Tehran" [, string $tr_num = "fa" ]]]] )
jstrftime( $format , $timestamp , $none , $time_zone , $tr_num );
strftime(?) | الزام ؟ | مقدار پیشفرض | توضیحات | پارامترها |
+ | الزامی | '' |
رشته یا متن حاوی کاراکترهای قالب خروجی | $format |
+ | اختیاری | time() = زمان فعلی | timestamp برچسب زمانی دلخواه ورودی | $timestamp |
! | اختیاری | '' |
این پارامتر را فعلاً خالی بگذارید | $none |
! | اختیاری | Asia/Tehran | منطقه ی زمانی جهت محاسبه ی اختلاف ساعت | $time_zone |
! | اختیاری | fa | زبان اعداد خروجی ، فارسی یا انگلیسی | $tr_num |
پارامترهای تابع jstrftime
format$ : پارامتر اوّل ، که با قرار دادن یک یا چند کاراکتر ( از جدول کاراکترهای پارامتر اوّل تابع jstrftime ) در آن ، قالب دلخواهی از زمان را در خروجی تابع دریافت خواهیم نمود. مثلاً کاراکتر '%y' ، برای نمایش عدد سال دو رقمی یا کاراکتر '%S' ، برای نمایش ثانیه است. حتّی می توان با کنار هم گذاشتن چند کاراکتر ، یک خروجی مرکّب ساخت. مثلاً '%H:%M:%S' یک خروجی مرکّب از ساعت و دقیقه و ثانیه را به ما خواهد داد. مثل 21:16:53 و اگر می خواهید یک کاراکتر را به صورت خام خارج کنید و تبدیل نشود ، فقط کافیست آن را بدون % وارد نمایید. مثلاً '%H:M:%S' به صورت 21:M:53 خارج خواهد شد. دقّت داشته باشید که بزرگی و کوچکی حروف ، می تواند خروجی را تغییر دهد ، پس مواظب باشید ، کاراکترهای بزرگ و کوچک را اشتباهی وارد نکنید. جدول کاراکترهای پارامتر اوّل تابع jstrftime می تواند به شما کمک کند. درضمن ، کاربرد اکثر کاراکترها با تابع jdate متفاوت است. اگر به امکانات اضافه مثل نام روز ، ماه و سال به حروف و ... نیاز دارید ، از تابع jdate استفاده کنید.
نکته: به غیر از پارامتر اوّل (format) ، بقیه ی پارامترها مشابه با پارامترهای همنام در تابع jdate عمل می کنند.
timestamp$ : پارامتر دوم ، که اختیاری بوده و مقدار ورودی آن ، برچسب زمان است. اگر برچسب زمان
خاصی را در این پارامتر قرار دهیم ، خروجی تابع کاملاً مطابق با همان زمان خاص خواهد بود ، انگار که الآن دقیقاً همان زمانی است که آن برچسب زمانی را
گرفته ایم. و امّا ، اگر این پارامتر را وارد نکنیم یا خالی ''
بگذاریم ، برچسب زمان فعلی در آن وارد خواهد شد و تمامی اطّلاعات خروجی ، مربوط به همین الآن
است که مقدار پیشفرض ، برابر است با خروجی تابع time در همین حالا.
none$ : پارامتر سوم ، فعلاً در این پارامتر ، چیزی وارد نکنید. در نسخه های بعدی فعّال خواهد شد.
time_zone$ : پارامتر چهارم ، برای تغییر منطقه ی زمانی است. معمولاً زمان سرور سایت ها به وقت گرینویچ
تنظیم شده است. امّا ما به زمانی نیاز داریم که به وقت تهران ، پایتخت جمهوری اسلامی ایران ، تنظیم شده باشد. شاید هم بخواهیم منطقه ی زمانی دیگری را
تعیین کنیم. با این پارامتر ، به راحتی می توانید منطقه ی زمانی مورد نظرتان را در خروجی تابع ، اعمال نمایید. مقدار پیشفرض این پارامتر ، 'Asia/Tehran' یا 'Iran' وارد
شده و اگر آن را خالی ''
بگذارید یا وارد نکنید ، خروجی تابع به وقت تهران است و اختلاف زمانی ، به صورت خودکار در خروجی اعمال می گردد. امّا اگر قصد تغییر
آن را دارید ، فهرست مناطق زمانی را می توانید در نشانی:
http://php.net/manual/en/timezones.php ، مشاهده نموده و منطقه ی مورد نظر خود را در این
پارامتر ، وارد کنید. درضمن ، برای تنظیم به وقت گرینویچ ، می توانید از 'GMT' استفاده نمایید. و اگر مایلید تنظیمات پیشفرض سرور در مورد منطقه ی زمانی اعمال گردد ، 'local' را (با حروف کوچک) در این پارامتر وارد کنید ، البتّه ممکن است سرور سایت با ساعت کشور شما تنظیم نشده باشد.
tr_num$ : پارامتر پنجم ، تنظیم کننده ی زبان اعداد خروجی می باشد و حالت پیشفرض آن 'fa' است ، یعنی اگر آن را وارد نکرده یا خالی بگذاریم ، اعداد خروجی از تابع ، اعداد فارسی خواهند بود. اعداد فارسی برای نمایش در صفحات سایت ، بسیار مناسب و زیبا هستند. امّا همیشه نمی توان از اعداد فارسی استفاده نمود. در مواقعی که قصد دارید محاسباتی بر روی خروجی تابع انجام دهید ، مثلاً آن ها را در عدد دیگری ضرب کنید یا با هم جمع ببندید یا ... ، حتماً باید اعداد را به صورت انگلیسی نوشته باشید تا بتوان از طریق توابع php بر روی آن ها عملیات ریاضی انجام داد. برای این که از این تابع ، اعداد به صورت انگلیسی خارج شوند ، فقط کافیست این پارامتر را برابر با 'en' قرار دهید. توجّه داشته باشید که بزرگی و کوچکی حروف ، مهم است و در این پارامتر ، حتماً باید 'en' یا 'fa' به حروف کوچک انگلیسی وارد گردند.
=jdate() | مثال ۲ | مثال ۱ | دامنه | jstrftime() کاربرد در | کاراکتر |
- | - | - | - | مربوط به روز | Day |
'D' | چ | ش | ش تا ج | حرف اوّل نام روز هفته، ش=شنبه | %a |
'l' | چهار شنبه | شنبه | شنبه تا جمعه | نام روز در هفته - کامل | %A |
'd' | ۲۳ | ۹ | ۰۱ - ۳۱ | شماره ی روز از ماه - ۲ رقمی | %d |
- | ۲۳ | ۲ | ۱ - ۳۱ | ...شماره ی روز از ماه - امّا | %e |
- | ۳۰۵ | ۰۴۲ | ۰۰۱ - (۳۶۵|۳۶۶) | شماره ی روز در سال - ۳ رقمی | %j |
'N' | ۳ | ۷ | ۱ - ۷ | یک شنبه=۱ ،عدد روز در هفته (IR) | %u |
'w' | ۳ | ۰ | ۰ - ۶ | شنبه=۰ ،عدد روز در هفته (IR) | %w |
- | - | - | - | مربوط به هفته | Week |
- | ۴۳ | ۱۱ | ۰۰ - (۵۲|۵۳) | شماره خاص هفته در سال - ۲رقم | %U |
'W' | ۴۳ | ۱۱ | ۰۱ - (۵۲|۵۳) | شماره خاص هفته در سال - ۲رقم | %V |
- | ۴۳ | ۱۱ | ۰۰ - (۵۲|۵۳) | شماره خاص هفته در سال - ۲رقم | %W |
- | - | - | - | مربوط به ماه | Month |
'M' | دی | خر | فر تا اس | نام ماه از سال - خلاصه | %b |
'F' | دی | خرداد | فروردین تا اسفند | نام ماه از سال - کامل | %B |
'M' | دی | خر | فر تا اس | %b نام ماه از سال - خلاصه ، برابر | %h |
'm' | ۱۰ | ۰۳ | ۰۱ - ۱۲ | شماره ی ماه از سال - ۲رقمی | %m |
- | ۱۴ | ۱۳ | ...خارج قسمت | خارج قسمت سال ، بخش بر ۱۰۰ | %C |
- | ۸۹ | ۹۱ | ۰۰ - ۹۹ | سال هفته ای (به عدد) دو رقمی | %g |
'o' | ۱۳۸۹ | ۱۳۹۱ | : طبق نمونه | سال هفته ای (به عدد) چهار رقمی | %G |
'y' | ۸۹ | ۹۱ | ۰۰ - ۹۹ | سال (به عدد) دو رقمی | %y |
'Y' | ۱۳۸۹ | ۱۳۹۱ | : طبق نمونه | سال (به عدد) چهار رقمی | %Y |
- | - | - | - | مربوط به زمان | Time |
'H' | ۱۹ | ۰۷ | ۰۰ - ۲۳ | ساعت در روز - ۲۴ساعته -۲رقمی | %H |
'h' | ۱۲ | ۰۷ | ۰۱ - ۱۲ | ساعت در روز - ۱۲ ساعته - ۲رقمی | %I |
- | ۱۲ | ۷ | ۱ - ۱۲ | ...ساعت در روز -۱۲ساعته ، امّا | %l |
'i' | ۲۱ | ۱۷ | ۰۰ - ۵۹ | دقیقه در ساعت - ۲ رقمی | %M |
'A' | بعد از ظهر | قبل از ظهر | : طبق نمونه | اوقات روز _ کامل | %p |
'a' | ب.ظ | ق.ظ | ق.ظ | ب.ظ | اوقات روز - به صورت خلاصه | %P |
- | ۰۹:۴۶:۳۱ قبل از ظهر | ۰۱:۰۸:۲۶ بعد از ظهر | : طبق نمونه | :(dir="ltr") ۱ قالب مرکّب | %r |
- | ۰۹:۴۶ | ۱۳:۰۸ | : طبق نمونه | :(dir="ltr") ۲ قالب مرکّب | %R |
's' | ۱۷ | ۰۹ | ۰۰ - ۵۹ | شماره ی ثانیه در دقیقه - ۲ رقمی | %S |
- | ۰۹:۴۶:۳۱ | ۱۳:۰۸:۲۶ | : طبق نمونه | :(dir="ltr") ۳ قالب مرکّب | %T |
- | ۰۹:۴۶:۳۱ | ۰۱:۰۸:۲۶ | : طبق نمونه | :(dir="ltr") ۴ قالب مرکّب | %X |
'O' | +۰۳۳۰ | +۰۴۳۰ | -۱۲۰۰ ، +۱۴۰۰ | ":" اختلاف ساعت جهانی - بدون | %z |
'T' | IRST | IRDT | مخفف مناطق | مخفّف منطقه ی زمانی تنظیم شده | %Z |
- | - | - | - | مربوط به برچسب های تاریخ و زمان | Time... Stamps |
- | ۰۹:۴۶:۳۱ +۰۳:۳۰ جمعه، ۲۲ بهمن ۱۳۸۹ | ۱۳:۰۸:۲۶ +۰۴:۳۰ شنبه، ۴ تیر ۱۳۹۰ | : طبق نمونه | :(dir="ltr") ۵ قالب مرکّب | %c |
- | ۸۹/۱۱/۲۲ | ۹۰/۰۴/۰۴ | : طبق نمونه | :(dir="ltr") ۶ قالب مرکّب | %D |
- | ۱۳۸۹-۱۱-۲۲ | ۱۳۹۰-۰۴-۰۴ | : طبق نمونه | :(dir="ltr") ۷ قالب مرکّب | %F |
'U' | ۱۲۹۵۴۳۶۴۶۷ | ۱۲۴۳۹۵۵۳۴۶ | : طبق نمونه | timestamp (Unix) برچسب زمانی | %s |
- | ۸۹/۱۱/۲۲ | ۹۰/۰۴/۰۴ | : طبق نمونه | :(dir="ltr") ۸ قالب مرکّب | %x |
- | - | - | - | متفرّقه | Miscellaneous |
- | -سطر جدید- | -سطر جدید- | \n | ("\n") کاراکتر مخصوص سطر جدید | %n |
- | -فاصله ی تب- | -فاصله ی تب- | \t | Tab ("\t") کاراکتر مخصوص تب | %t |
% | % | % | % | ("%") کاراکتر مخصوص درصد | %% |
توضیحات کاراکترهای پارامتر اوّل تابع jstrftime ^
مربوط به روز _ Day
%a : حرف اوّل نام روز در هفته
مثلاً: "ش" برای شنبه و "د" برای دوشنبه و ...
"ش" یا "ی" یا "د" یا "س" یا "چ" یا "پ" یا "ج"
%A : نام فارسی روز در هفته ، به صورت کامل
"شنبه" یا "یکشنبه" یا "دوشنبه" یا "سه شنبه" یا "چهارشنبه" یا "پنجشنبه" یا "جمعه"
%d : شماره ی روز از ماه (برج) ، به صورت 2 رقمی
از "01" تا "29" یا "30" یا "31"
مثلاً در یکم ، "01" و در بیست و دوم ، "22" است.
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
%e : شماره ی روز از ماه (برج) ، به صورت 1 یا 2 رقمی
از "1 " تا "29" یا "30" یا "31"
مثلاً در یکم ، "1 " و در بیست و دوم ، "22" است.
اعداد تک رقمی به صورت تک رقمی به همراه یک کاراکتر فاصله (U+0020) در قبلشان
و اعداد دو رقمی به صورت دو رقمی هستند.
%j : نمایش شماره ی روز در سال
از "001" تا "365" یا "366"
مثلاً: "001" برای یکم فروردین و "051" برای بیستم اردیبهشت و "365" برای بیست و نهم اسفند و ...
تقریباً برابر با jdate('z')+1 ، البتّه به صورت سه رقمی
اعداد تک رقمی یا دو رقمی با افزودن 0 ها به قبلشان ، به صورت سه رقمی نمایش داده خواهند شد.
%u : عدد روز در هفته ، 1 تا 7
مثلاً: "7" برای شنبه و "1" برای یکشنبه و "6" برای جمعه
آغاز هفته از روز شنبه حساب می شود.
%w : عدد روز در هفته ، 0 تا 6
مثلاً: "0" برای شنبه و "1" برای یکشنبه و "6" برای جمعه
آغاز هفته از روز شنبه حساب می شود.
مربوط به هفته _ Week
%U : شماره ی این هفته در سال ، 2 رقمی _ روز جمعه به عنوان اوّل هفته
از "00" تا "52" یا "53"
وقتی قسمتی از یک هفته در سال قبل و بقیه ی آن در سال بعد باشد، اگر بخش بیشتر هفته در
سال قبل باشد ، در روزهایی از هفته که در سال بعد هستند ، عدد "00" نمایش داده می شود.
امّا اگر بخش بیشتر هفته در سال بعد باشد، در روزهایی از هفته که در سال بعد قرار دارند،
شماره ی آن در سال بعد که "01" است ، نمایش داده می شود. در هر دو صورت ،
در روزهایی از هفته که در سال قبل هستند ، اعداد "52" یا "53" به نمایش در خواهد آمد.
برای حساب کردن روزهای هفته در سال قبل و بعد ، آغاز هر هفته از روز جمعه حساب می شود.
%V : شماره ی این هفته در سال ، 2 رقمی
از "01" تا "52" یا "53"
آغاز هر هفته از روز شنبه حساب می شود.
وقتی قسمتی از یک هفته در سال قبل و بقیه ی آن در سال بعد باشد، اگر بخش بیشتر هفته
در سال قبل باشد ، در تمام طول آن هفته ، شماره ی آن در سال قبل که "52" یا "53" است،
نمایش داده می شود. امّا اگر بخش بیشتر هفته در سال بعد باشد، در تمام طول همان هفته،
شماره ی آن در سال بعد که "01" است ، نمایش داده می شود . به عبارت دیگر ، آن هفته به
به صورت کامل ، جزء سالی به حساب خواهد آمد که قسمت بزرگ تر هفته در آن سال باشد.
%W : شماره ی این هفته در سال ، 2 رقمی _ روز شنبه به عنوان اوّل هفته
از "00" تا "52" یا "53"
وقتی قسمتی از یک هفته در سال قبل و بقیه ی آن در سال بعد باشد، اگر بخش بیشتر هفته در
سال قبل باشد ، در روزهایی از هفته که در سال بعد هستند ، عدد "00" نمایش داده می شود.
امّا اگر بخش بیشتر هفته در سال بعد باشد، در روزهایی از هفته که در سال بعد قرار دارند،
شماره ی آن در سال بعد که "01" است ، نمایش داده می شود. در هر دو صورت ،
در روزهایی از هفته که در سال قبل هستند ، اعداد "52" یا "53" به نمایش در خواهد آمد.
برای حساب کردن روزهای هفته در سال قبل و بعد ، آغاز هر هفته از روز شنبه حساب می شود.
مربوط به ماه _ Month
%b : دو حرف اوّل نام ماه ( برج ) از سال
مثلاً: "ار" برای اردیبهشت و "دی" برای دی و ...
"فر" _ "ار" _ "خر" _ "تی" _ "مر" _ "شه" _ "مه" _ "آب" _ "آذ" _ "دی" _ "به" _ "اس"
%B : نام فارسی ماه ( برج ) از سال به صورت کامل
"فروردین" _ "اردیبهشت" _ "خرداد" _ "تیر" _ "مرداد" _ "شهریور"
"مهر" _ "آبان" _ "آذر" _ "دی" _ "بهمن" _ "اسفند"
%h : دو حرف اوّل نام ماه ( برج ) از سال
مثلاً: "ار" برای اردیبهشت و "دی" برای دی و ...
"فر" _ "ار" _ "خر" _ "تی" _ "مر" _ "شه" _ "مه" _ "آب" _ "آذ" _ "دی" _ "به" _ "اس"
مشابه کاراکتر %b
%m : شماره ی ماه ( برج ) از سال ، به صورت 2 رقمی
از "01" برای فروردین ، تا "12" برای اسفند
مثلاً در تیر ، "04" و در بهمن ، "10" است.
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
%C : خارج قسمت تقسیم شماره ی سال به عدد 100
برابر با دو رقم اوّل شماره ی سال
مثلاً "13" برای سال 1390 یا "14" برای سال 1400
%g : عدد سال هفته ای ، 2 رقمی
شماره ی سال را به صورت 2 رقمی نشان می دهد.
امّا در هفته هایی که قسمتی از آن در سال قبل و بقیه ی آن در سال بعد است ، در تمام طول
آن هفته ، شماره ی سالی را نشان خواهد داد که قسمت بیشتر هفته در آن سال قرار دارد.
%G : عدد سال هفته ای ، 4 رقمی
شماره ی سال را به صورت 4 رقمی نشان می دهد.
امّا در هفته هایی که قسمتی از آن در سال قبل و بقیه ی آن در سال بعد است ، در تمام طول
آن هفته ، شماره ی سالی را نشان خواهد داد که قسمت بیشتر هفته در آن سال قرار دارد.
%y : عدد سال ، به صورت خلاصه ی 2 رقمی
از "00" تا "99"
مثلاً: "89" برای 1389 و "90" برای 1390 و "04" برای 1404 و ...
%Y : عدد سال ، به صورت کامل 4 رقمی
مثلاً: "1389" و "1390" و "1404" و ...
مربوط به زمان _ Time
%H : نمایش ساعت در روز ، 24 ساعته ، 2 رقمی
از "00" تا "23"
مثلاً: "07" برای ساعت 7 صبح و "19" برای ساعت 7 عصر می باشد.
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
%I : نمایش ساعت در روز ، 12 ساعته ، 2 رقمی
از "01" تا "12"
مثلاً برای ساعت 7 صبح و 7 عصر ، به صورت "07" است.
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
%l : نمایش ساعت در روز ، 12 ساعته ، 1 رقمی با کاراکتر فاصله یا 2 رقمی
از "1 " تا "12"
مثلاً برای ساعت 7 صبح و 7 عصر ، به صورت "7 " است.
اعداد تک رقمی به صورت تک رقمی به همراه یک کاراکتر فاصله (U+0020) در قبلشان
و اعداد دو رقمی به صورت دو رقمی هستند.
%M : نمایش دقیقه در ساعت ، 2 رقمی
از "00" تا "59"
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
%p : نمایش اوقات روز به صورت کامل
از ساعت ( 00:00 یا 24:00 ) یا 12:00 شب تـــا 11:59 ظهر ، به صورت "قبل از ظهر"
و از ساعت 12:00 ظهر تـــا 23:59 یا 11:59 شب ، به صورت "بعد از ظهر" خواهد بود.
%P : نمایش اوقات روز به صورت خلاصه
از ساعت ( 00:00 یا 24:00 ) یا 12:00 شب تـــا 11:59 ظهر ، به صورت "ق.ظ"
و از ساعت 12:00 ظهر تـــا 23:59 یا 11:59 شب ، به صورت "ب.ظ" خواهد بود.
%r : یک نمونه قالب مرکّب
برای مثال: "۰۹:۴۶:۳۱ قبل از ظهر"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
%R : یک نمونه قالب مرکّب
برای مثال: "۰۹:۴۶"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
%S : نمایش ثانیه در دقیقه ، 2 رقمی
از "00" تا "59"
اعداد تک رقمی با افزودن 0 به قبلشان ، به صورت دو رقمی نمایش داده خواهند شد.
%T : یک نمونه قالب مرکّب
برای مثال: "۰۹:۴۶:۳۱"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
%X : یک نمونه قالب مرکّب
برای مثال: "۰۹:۴۶:۳۱"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
%z : نمایش اختلاف ساعت جهانی تنظیم شده ، بدون دو نقطه
مثلاً برای جمهوری اسلامی ایران ، "0330" برای مواقع عادی
و "0430" برای روزهایی که ساعت به جلو کشیده شده است.
( از ساعت 24.00 ، یکم فروردین تا سی ام شهریور هر سال )
البتّه این کاراکتر در تابع strftime به تنظیمات سرور وابسته است
%Z : نمایش مخفف منطقه ی زمانی که برای اعمال اختلاف ساعت جهانی ، تنظیم شده.
مثلاً برای جمهوری اسلامی ایران ، "IRST" برای مواقع عادی
و "IRDT" برای روزهایی که ساعت به جلو کشیده می شود.
( از ساعت 24.00 ، یکم فروردین تا سی ام شهریور هر سال )
البتّه این کاراکتر در تابع strftime به تنظیمات سرور وابسته است
مربوط به برچسب های تاریخ و زمان _ Time and Date Stamps
%c : یک نمونه قالب مرکّب
برای مثال: "۰۹:۴۶:۳۱ +۰۳:۳۰ جمعه، ۲۲ بهمن ۱۳۸۹"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
%D : یک نمونه قالب مرکّب
برای مثال: "۸۹/۱۱/۲۲"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
%F : یک نمونه قالب مرکّب
برای مثال: "۱۳۸۹-۱۱-۲۲"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
%s : برچسب زمان یونیکس ، Unix timestamp
تعداد ثانیه هایی که از روز 1/1/1970 میلادی ، دقیقاً ساعت 00:00:00 به وقت گرینویچ
گذشته است. عدد این برچسب بسیار مفید ، قابل تبدیل به هر قالبی از زمان می باشد
%x : یک نمونه قالب مرکّب
برای مثال: "۸۹/۱۱/۲۲"
امّا برای نمایش صحیح در صفحات html ، باید در بین تگ <span dir="ltr"></span> قرار گیرد.
متفرّقه _ Miscellaneous
%n : کاراکتر مخصوص سطر جدید ("\n")
جهت رفتن به سطر جدید در سورس
%t : کاراکتر مخصوص تب - ("\t") Tab
جهت ایجاد فاصله ی هوشمند تب
%% : کاراکتر مخصوص درصد ("%")
درج علامت درصد (%) در خروجی
آموزش استفاده از تابع jstrftime ^
ابتدا برای درک بهتر مطالب ، فقط از پارامتر اوّل این تابع استفاده می کنیم و شیوه ی گرفتن قالب های مختلفی از خروجی را یاد می گیریم. به مثال ها هم توجّه کنید که نکات خاصی را بیان می کنند. این ها فقط مثال هستند ، می توانید از هر کاراکتر دیگری هم به جای آن ها استفاده کنید.
در مثال اوّل ، یک قالب تک کاراکتری می سازیم و خروجی ( نوشته های قرمز رنگ ) را خواهیم داشت. نوشته های سیاه رنگ نیز توضیحات هستند. برای نمایش خروجی ها در صفحه ی مرورگر ، می توانید از echo استفاده کنید. مثلاً: echo jstrftime('%Y');
/* نکته: اهمّیّت حروف بزرگ و کوچک در نام تابع و کاراکترهای پارامترها */
jstrftime('%Y');// 1389
jstrftime('%y');// 89
jstrftimE('%y');// خطا ، نام تابع ، اشتباه است
/* ترکیب دو یا چند کاراکتر با حروف اضافه
در یک خروجی */
jstrftime('%H %M %S');// 10 26 53
jstrftime('%H:%M:%S');// 10:26:53
jstrftime('%Y/%m/%d');// 1389/11/22
jstrftime('%Y %B %e');// 22 بهمن
1389
/* خارج کردن کاراکترها یا حروف ، به صورت خام و تبدیل نشده با قرار ندادن % قبل از آن ها
*/
/* منظور از کاراکتر ، تمامی حروف بزرگ و کوچک انگلیسی است که در جدول مربوطه نیز فهرست شده اند */
jstrftime('%H:%M:%S');// 10:26:53
jstrftime('%H:M:%S');// 10:M:53
jstrftime('%H : iran');// 10 : iran
jstrftime('H%H');// H10
jstrftime('%HH');// 10H
jstrftime('%H %H');// 10 10
jstrftime('H%HH');// H10H
jstrftime('Hou : %H _ Min : %M _ Sec : %S');// Hou : 10 _ Min : 26 _ Sec : 53
/* نکته: قبل از کاراکترهای خاص مثل ' و " حتماً از \
استفاده شود */
jstrftime(" \" H \" ");// " 10 "
jstrftime(' \' H \' ');// ' 10 '
/* البتّه بستگی به شرایط دارد */
jstrftime(' " H " ');// " 10 "
jstrftime(" ' H ' ");// ' 10 '
/* برای خارج کردن خام خود کاراکتر % از یک % در قبل از آن استفاده شود که با خودش می شوند دو تا */
jstrftime('%%');//
%
jstrftime('%%%H');// %10
jstrftime('%%H');// %H
//
/* ترکیب حروف اضافه با کلمات خروجی
*/
jstrftime('امروز %A است');
// امروز جمعه است
//
/* مرتّب کردن ترکیب حروف و اعداد اضافه در خروجی با ساختار پیچیده */
/* ترکیب های پیچیده ، ممکن است نامرتّب یا جا به جا
، نمایش داده شوند. */
/* حتماً آن ها را در بین تگ <span dir=ltr></span> قرار دهید. (چپ به راست) */
/* چند الگوی کاربردی زیر ،
از قبل مرتّب شده اند. می توانید از این ها استفاده نمایید. */
/* این الگوها را می توانید ویرایش کنید. حتماً بین تگ <span dir=ltr></span>
قرار گیرند. */
jstrftime('%c');
// <span dir=ltr>۰۹:۴۶:۳۱ +۰۳:۳۰ جمعه، ۲۲ بهمن ۱۳۸۹</span>
// ۰۹:۴۶:۳۱ +۰۳:۳۰ جمعه، ۲۲ بهمن ۱۳۸۹
jstrftime('%r');
// <span dir=ltr>۰۹:۴۶:۳۱ قبل از ظهر</span>
// ۰۹:۴۶:۳۱ قبل از ظهر
jstrftime('%H:%M:%S %z ,%A, %e %B %Y');
// <span dir=ltr>۰۹:۴۶:۳۱ +۰۳۳۰ ,جمعه, ۲۲ بهمن ۱۳۸۹</span>
// ۰۹:۴۶:۳۱ +۰۳۳۰ ,جمعه, ۲۲ بهمن ۱۳۸۹
jstrftime('%H:%M:%S %z | %A, %e / %B / %Y');
// <span dir=ltr>۰۹:۴۶:۳۱ +۰۳۳۰ | جمعه, ۲۲ / بهمن / ۱۳۸۹</span>
// ۰۹:۴۶:۳۱ +۰۳۳۰ | جمعه, ۲۲ / بهمن / ۱۳۸۹
jstrftime('%H:%M:%S %Z | %A, %e / %B / %Y');
// <span dir=ltr>۰۹:۴۶:۳۱ IRST | جمعه, ۲۲ / بهمن / ۱۳۸۹</span>
// ۰۹:۴۶:۳۱ IRST | جمعه, ۲۲ / بهمن / ۱۳۸۹
jstrftime('%H:%M:%S %z , %Y/%m/%e');
// <span dir=ltr>۰۹:۴۶:۳۱ +۰۳۳۰ , ۱۳۸۹/۱۱/۲۲</span>
// ۰۹:۴۶:۳۱ +۰۳۳۰ , ۱۳۸۹/۱۱/۲۲
jstrftime('%H:%M:%S - %Y/%m/%e');
// <span dir=ltr>۰۹:۴۶:۳۱ - ۱۳۸۹/۱۱/۲۲</span>
// ۰۹:۴۶:۳۱ - ۱۳۸۹/۱۱/۲۲
jstrftime('%Y/%m/%e ,%A');
// <span dir=ltr>۱۳۸۹/۱۱/۲۲ ,جمعه</span>
// ۱۳۸۹/۱۱/۲۲ ,جمعه
jstrftime('%Y/%m/%e');
// <span dir=ltr>۱۳۸۹/۱۱/۲۲</span>
// ۱۳۸۹/۱۱/۲۲
مقدار پیشفرض برای پارامترهای اختیاری
در این تابع ، به غیر از پارامتر اوّل ، بقیه ی پارامترها اختیاری هستند. اگر پارامترهای اختیاری را وارد نکنید و یا مقدار آن ها را خالی ''
بگذارید (در این نرم افزار) ، مقدار پیشفرض برای آن ها وارد خواهد شد. به چند مثال زیر توجّه فرمایید.
مثلاً می خواهیم زبان اعداد خروجی ، انگلیسی باشد ، امّا بقیه ی پارامترهای اختیاری ، به صورت پیشفرض وارد گردند
jstrftime('%c','','','','en');
و یا منطقه ی اختلاف ساعت جهانی را به وقت گرینویچ تنظیم کنیم ، امّا پارامترهای اختیاری دیگر ، به صورت پیشفرض باشند
jstrftime('%c','','','GMT');
یا برچسب زمان دلخواه خود را در تابع وارد کنیم ، امّا پارامترهای اختیاری دیگر ، به صورت پیشفرض وارد شوند
jstrftime('%c','1295436467');
و اگر خواستیم که همه ی پارامترهای اختیاری ، با مقادیر پیشفرض خود وارد شوند
jstrftime('%c');
برطرف کردن خطای زمان سرور
ممکن است زمان سرور شما چند دقیقه خطا داشته باشد. برای رفع این خطا چندین راه وجود دارد.
راه اوّل ، تنظیم دقیق زمان سرور است. امّا اگر سرور متعلّق به شما نیست و از یک هاست (فضای کرایه ای) استفاده می کنید ، باید از روش های دیگر استفاده نمایید.
راه دوم ، خنثی کردن خطا در پارامتر دوم تابع jstrftime است. فقط کافیست مقدار این خطا را به ثانیه حساب کرده و در پارامتر دوم اعمال نمایید. مثلاً اگر زمان سرور شما 2 دقیقه و 27 ثانیه جلو است ، باید آن را به همین مقدار ، عقب بکشید. ابتدا 2 دقیقه را در عدد 60 ضرب می کنیم تا به ثانیه تبدیل شود ، سپس عدد حاصل (120) را با 27 جمع می کنیم. آنگاه پارامتر دوم تابع jstrftime را به صورت
jstrftime('%c',time()-147);
وارد می کنیم تا 147 ثانیه به عقب کشیده شود. برای عقب کشیدن از تفریق ( - ) و برای جلو کشیدن از جمع ( + ) استفاده می نماییم.
راه سوم ، از طریق فایل نرم افزار (jdf.php) است. ابتدا آن را به وسیله ی یک ویرایشگر حرفه ای باز کنید. ( هشدار: به دلیل UTF-8 بودن فایل ، هرگز آن را با نوت پد معمولی ویندوز ، ویرایش یا ذخیره نکنید. ) سپس در ابتدای تابع jstrftime ، مقدار $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 عضویت در کانال ما دریافت (دانلود) فایل و راهنما
نشانی کوتاه این صفحه: