PDA

View Full Version : آموزش: همه چیز در مورد تاریخ فارسی با توابع جلالی (جدید)



رضا قربانی
سه شنبه 03 خرداد 1390, 22:41 عصر
با سلام خدمت تمامی دوستان عزیز برنامه نویس

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

داخل فایل زیپ یه صفحه html ذخیره شده که توضیحات لازم از سایت اصلیش برای شما ذخیره کردم که می تونید راهنمایی های لازم رو بگیرید .


فایل php جلالی نسخه 2.30 هست که تازگی ها توسط دوستان بزرگوار نوشته و کمک بزرگی به برنامه نویس ها شده.

فقط کافیه فایل php که براتون گذاشتم در اول صفحه include کنید و سپس از توابع آن استفاده نمایید . همه چیز آماده در اختیار شماست . =======> include_once('jdf.php');

نوشته شده توسّط آقای رضا غلام پناهی

این توابع به حروف بزرگ و کوچک حساس می باشند ، پس دقت کنید.

برای استفاده راحت به این صورت می توانید تست کنید :



include_once('jdf.php');//:افزودن فایل نرم افزار

/* کدهای آزمایشی را در این جا قرار دهید */

$out=jdate ('V');//خروجی:هزار و سیصد و هشتاد و نه
$out=jdate('v');//خروجی:هشتاد و نه
$out=jdaTe('V');//پیغام خطا ، چون نام تابع ، به حروف کوچک نیست


echo $out;//:برای نمایش خروجی


از مزایای این نرم افزار ، می توان به موارد زیر اشاره نمود:
حجم ناچیز و سرعت بسیار زیاد نسبت به نرم افزار قدیمی # وجود مجموعه ی کامل آموزشی به زبان فارسی # پارامترهای اضافه برای کنترل دقیق توابع و خروجی ها # امکان اعمال اختلاف ساعت جهانی دلخواه در خروجی # تعیین زبان اعداد خروجی ( فارسی یا انگلیسی ) به دلخواه # احتساب روز شنبه به عنوان روز اوّل هفته در تمامی خروجی ها # توابع جدید تبدیل تاریخ میلادی به هجری شمسی و برعکس ، با خروجی آرایه یا متن ، به دلخواه # تابع تبدیل عناصر زمان ( هجری شمسی ) به برچسب زمان # تابع تبدیل برچسب زمان به آرایه ی عناصر مختلف تاریخ و زمان ( هجری شمسی ) # تابع بررسی صحیح بودن تاریخ هجری شمسی # تبدیل زبان اعداد موجود در متن خروجی ( فارسی یا انگلیسی ) # شبیه سازی توابع کاربردی زمان برای تاریخ هجری شمسی # امکان رفع خطاهای چند دقیقه ای زمان بعضی سرورها # جلو و عقب کشیده شدن ساعت در نیمه های اوّل و دوم سال ، به صورت خودکار # محاسبات و خروجی های بسیار متنوّع از جمله : # سال به حروف ، کامل یا خلاصه # نام فصل از سال به حروف یا شماره ی آن # نام ماه های هجری شمسی به حروف یا شماره ی آن # محاسبه ی نام باستانی برج ها # محاسبه ی نام حیوانی سال ها # تعداد روزهای گذشته یا باقی مانده از سال # درصد گذشته یا باقی مانده از سال # شماره ی روز از ماه ( هجری شمسی ) به حروف یا عدد # محاسبه ی دقیق سال هجری شمسی هفته ای با احتساب روز شنبه به عنوان آغاز هفته # شماره ی هفته در سال ، روز شنبه به عنوان آغاز هفته # نشانگر دقیق کبیسه بودن یا نبودن سال هجری شمسی # شماره ی سال ، 2 یا 4 رقمی # شماره ی ماه ، 1 یا 2 رقمی # شماره ی روز ، 1 یا 2 رقمی # شماره ی روز در هفته ، روز شنبه به عنوان آغاز هفته ، 0-6 یا 1-7 # محاسبه ی تعداد روزهای همان ماه از سال با احتساب اسفند سال های کبیسه # نمایش اوقات روز به فارسی ، کامل یا خلاصه # نشانگر طولانی تر بودن روزها در نیمه ی اوّل سال و جلو کشیدن ساعت # نام روز در هفته ، فارسی ، کامل و خلاصه # نمایش اختلاف ساعت جهانی ، در چند قالب مختلف # تاریخ و زمان کامل و مرکّب در قالب های دلخواه # نام منطقه ی زمانی تنظیم شده ، مخفّف و کامل # ساعت ، دقیقه ، ثانیه ، زمان اینترنتی ، برچسب زمان ، میکرو ثانیه و امکانات بسیار متنوّع دیگر ...






تبدیل خروجی کاراکترها به یک آرایه

$jdate=explode('_', jdate('a_b_c_d_e_f_g_h_i') );
ًمثلا: jdate('e') برابر است با $jdate[4];












حروف کوچک
a : نمایش اوقات روز به صورت خلاصه
از ساعت 00:00 یا 12:00 شب تا 11:59 ظهر ، به صورت "ق.ظ"
و از ساعت 12:00 ظهر تا 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" است.
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" برای بیستم فروردین و ...
حروف بزرگ
A : نمایش اوقات روز به صورت کامل
از ساعت 00:00 یا 12:00 شب تا 11:59 ظهر ، به صورت "قبل از ظهر"
و از ساعت 12:00 ظهر تا 11:59 شب ، به صورت "بعد از ظهر" است.
B : زمان اینترنتی به وقت جهانی ، یک عدد 3 رقمی
از "000" تا "999"
بر حسب 1.44 دقیقه ی گذشته از ساعت 23:00 به وقت گرینویچ
C : در دست ساخت
این کاراکتر ، در نسخه های بعدی نرم افزار ، فعّال خواهد شد.
منتظر بمانید.
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 ،یکم فروردین تا سی ام شهریور هر سال )






ابتدا برای درک بهتر مطالب ، فقط از پارامتر اوّل این تابع استفاده می کنیم و شیوه ی گرفتن قالب های مختلفی از خروجی را یاد می گیریم. به مثال ها هم توجّه کنید که نکات خاصی را بیان می کنند. این ها فقط مثال هستند ، می توانید از هر کاراکتر دیگری هم به جای آن ها استفاده کنید.
در مثال اوّل ، یک قالب تک کاراکتری می سازیم و خروجی ( نوشته های قرمز رنگ ) را خواهیم داشت. نوشته های سیاه رنگ نیز توضیحات هستند. برای نمایش خروجی ها در صفحه ی مرورگر ، می توانید از 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('\\\\');// \
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('<\s\p\a\n \d\i\r=\l\t\r>c</\s\p\a\n>');
// <span dir=ltr>۱۳۸۹/۱۱/۲۲ ,۱۰:۲۶:۵۳ +۰۳:۳۰</span>
// ۱۳۸۹/۱۱/۲۲ ,۱۰:۲۶:۵۳ +۰۳:۳۰

jdate('<\s\p\a\n \d\i\r=\l\t\r>r</\s\p\a\n>');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳۳۰ جمعه, ۲۲ بهمن ۱۳۸۹</span>
// ۱۰:۲۶:۵۳ +۰۳۳۰ جمعه, ۲۲ بهمن ۱۳۸۹

jdate('<\s\p\a\n \d\i\r=\l\t\r>H:i:s O ,l, j F Y</\s\p\a\n>');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳۳۰ ,جمعه, ۲۲ بهمن ۱۳۸۹</span>
// ۱۰:۲۶:۵۳ +۰۳۳۰ ,جمعه, ۲۲ بهمن ۱۳۸۹

jdate ('<\s\p\a\n \d\i\r=\l\t\r>H:i:s P | l, j / F / Y</\s\p\a\n>');
// <span dir=ltr> ۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ / بهمن / ۱۳۸۹ </span>
// ۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ / بهمن / ۱۳۸۹

jdate ('<\s\p\a\n \d\i\r=\l\t\r>H:i:s P | l, j F Y</\s\p\a\n>');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ بهمن ۱۳۸۹</span>
// ۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ بهمن ۱۳۸۹

jdate ('<\s\p\a\n \d\i\r=\l\t\r>l, J / F / V</\s\p\a\n>');
// <span dir=ltr>جمعه, بیست و دو / بهمن / هزار و سیصد و هشتاد و نه</span>
// جمعه, بیست و دو / بهمن / هزار و سیصد و هشتاد و نه

jdate('<\s\p\a\n \d\i\r=\l\t\r>l, J F V</\s\p\a\n>');
// <span dir=ltr>جمعه, بیست و دو بهمن هزار و سیصد و هشتاد و نه</span>
// جمعه, بیست و دو بهمن هزار و سیصد و هشتاد و نه

jdate('<\s\p\a\n \d\i\r=\l\t\r>H:i:s P ,Y/n/j</\s\p\a\n>');
// <span dir=ltr>۱۰:۲۶:۵۳ +۰۳:۳۰ ,۱۳۸۹/۱۱/۲۲</span>
// ۱۰:۲۶:۵۳ +۰۳:۳۰ ,۱۳۸۹/۱۱/۲۲

jdate ('<\s\p\a\n \d\i\r=\l\t\r>H:i:s ,Y/n/j</\s\p\a\n>');
// <span dir=ltr>۱۰:۲۶:۵۳ ,۱۳۸۹/۱۱/۲۲</span>
// ۱۰:۲۶:۵۳ ,۱۳۸۹/۱۱/۲۲

jdate('<\s\p\a\n \d\i\r=\l\t\r>H:i:s e ,Y/n/j</ \s\p\a\n>');
// <span dir=ltr>۱۰:۲۶:۵۳ IRST ,۱۳۸۹/۱۱/۲۲</span>
// ۱۰:۲۶:۵۳ Asia/Tehran ,۱۳۸۹/۱۱/۲۲

jdate('<\s\p\a\n \d\i\r=\l\t\r>H:i:s T ,Y/n/j</\s\p\a\n>');
// <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';



اینم برای دوستانی که می خوان تاریخ رو عقب و جلو کنند و ترکیب کنند





$ts=time() - ( jdate('j',time(),'','','en') * 86400 ) + 86400; //روز اوّل همین ماه
$ts=jmktime(hou,min,sec,month,1,year); //روز اوّل ماه در تاریخ دلخواه

$ts=time() - ( jdate('j',time(),'','','en') * 86400 ); //روز آخر ماه قبل
$ts=jmktime(hou,min,sec,month,1,year)-86400; //روز آخر ماه قبل در تاریخ دلخواه

$ts=time() + ( ( jdate('t',time(),'','','en') - jdate('j',time(),'','','en') ) * 86400 ); //روز آخر همین ماه
$ts=jmktime(hou,min,sec,month+1,1,year)-86400; //روز آخر ماه در تاریخ دلخواه

$ts=time() + ( ( jdate('t',time(),'','','en') - jdate('j',time(),'','','en') ) * 86400 ) + 86400; //روز اوّل ماه بعد
$ts=jmktime(hou,min,sec,month+1,1,year); //روز اوّل ماه بعد در تاریخ دلخواه

$ts=time() - ( jdate('z','','','','en') * 86400 ); //روز اوّل امسال
$ts=jmktime(hou,min,sec,1,1,year); //روز اوّل سال در تاریخ دلخواه

$ts=time() - ( jdate('z','','','','en') * 86400 ) - 86400; //روز آخر سال قبل
$ts=jmktime(hou,min,sec,1,1,year) - 86400; //روز آخر سال قبل در تاریخ دلخواه

$ts=jmktime(hou,min,sec,1,1,year-1); //روز اوّل سال قبل از تاریخ دلخواه

$ts=jmktime(hou,min,sec,month,day,year-1); //یک سال قبل از تاریخ دلخواه

$ts=jmktime(hou,min,sec,month-1,day,year); //یک ماه قبل از تاریخ دلخواه

$ts=jmktime(hou,min,sec,month,day,year) - 86400; //یک روز قبل از تاریخ دلخواه

$ts=time() - 86400; //همین ساعت در دیروز
$ts=time() + 86400; //همین ساعت در فردا
$ts=time(); //همین حالا
$ts=time() - (3 * 86400); //همین ساعت در سه روز قبل
$ts=time() + (5 * 86400); //همین ساعت در پنج روز بعد

وب سایت رسمی توابع جلالی
و در آخر امیدوارم کمکتون کرده باشم و اگر هم کمکی خواستید یا مشکلی براتون پیش اومد همین جا مطرح کنید .

موفق باشید

r30011111
یک شنبه 15 خرداد 1390, 10:44 صبح
لطفاً جهت استفاده از آخرین نسخه ی موجود که تمامی باگ های گزارش شده تا کنون در آن برطرف گردیده است ، نرم افزار را از سایت رسمی آن به نشانی
http://jdf.scr.ir (http://jdf.scr.ir)
دریافت نمایید