• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

تاريخ شمسی فارسی برای سايتتان بدون نياز به هيچ سايت اضا

خوبی کن

کاربر تازه وارد
تاریخ عضویت
2 نوامبر 2003
نوشته‌ها
1,285
لایک‌ها
13
تاريخ شمسی فارسی برای سايتتان بدون نياز به هيچ سايت اضافی!


در سايتی ديدم که به کاربران سايت دار! توصيه کرده بود برای گذاشتن تاريخ شمسی در سايتشان٬ از لينک هایی به آن سايت استفاده کنند که منجر می شد به توليد تصویری (در مدل های مختلف) که تاریخ شمسي آن روز را نشان می داد.
اين هم برای خودش! روشی محسوب می شود٬ اما آنهایی که می خواهند روی پای خودشان بایستند و خودکفا باشند٬ می توانند با استفاده از يک برنامه ساده javascript تاريخ شمسی را بصورت متن (با افزودنی های مجاز!) توليد کنند.
باور ندارید! امتحان کنید. (می توانید از ۱۱۸ هم بپرسید!)
کافی است اسکریپت زیر را داخل صفحه موردنظرتان قرار بدهید و هر کجا که خواستید تابع showdate را صدا بزنيد. تغییر رنگ و اندازه اش هم با سلیقه خودتان.
اگر احیانا به مشکلی بر خوردید (مواظب صورتتان باشید!)٬ خبر بدهید.
نکته: این تاریخ شمسی فارسی بر اساس سیستم تاریخ کاربر ( و نه سرور) کار می کند و کلیه عواقب! بعدی آن برعهده خود کاربر می باشد.
يا علي
[code:1]
function showdate() {
week= new Array("يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنج شنبه","جمعه","شنبه")
months = new Array("فروردين","ارديبهشت","خرداد","تير","مرداد","شهريور","مهر","آبان","آذر","دي","بهمن","اسفند");
a = new Date();
d= a.getDay();
day= a.getDate();
month = a.getMonth()+1;
year= a.getYear();
year = (year== 0)?2000:year;
(year<1000)? (year += 2000):true;
year -= ( (month < 3) || ((month == 3) && (day < 21)) )? 622:621;
switch (month) {
case 1: (day<21)? (month=10, day+=10):(month=11, day-=20); break;
case 2: (day<20)? (month=11, day+=11):(month=12, day-=19); break;
case 3: (day<21)? (month=12, day+=9):(month=1, day-=20); break;
case 4: (day<21)? (month=1, day+=11):(month=2, day-=20); break;
case 5:
case 6: (day<22)? (month-=3, day+=10):(month-=2, day-=21); break;
case 7:
case 8:
case 9: (day<23)? (month-=3, day+=9):(month-=2, day-=22); break;
case 10:(day<23)? (month=7, day+=8):(month=8, day-=22); break;
case 11:
case 12:(day<22)? (month-=3, day+=9):(month-=2, day-=21); break;
default: break;
}
document.write("امروز: "+week[d]+" "+day+" "+months[month-1]+" "+ year);
}
[/code:1][/code]
 

ataasgari

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 ژوئن 2003
نوشته‌ها
653
لایک‌ها
3
سن
46
محل سکونت
UAE
[code:1]case 10:(day<23)? (month=7, day+=8):(month=8, day-=22); break;
}[/code:1]


به جاي شكلك تايپ كنيد 8 و بعد پرانتز !
 

ei_baba_bi_khial

Registered User
تاریخ عضویت
25 اکتبر 2003
نوشته‌ها
702
لایک‌ها
20
محل سکونت
Esfahan

knowhow

مدیران قدیمی
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
3,478
لایک‌ها
22
من اينو گذاشتم توي كد شايد بهتر باشه .!
 

ataasgari

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 ژوئن 2003
نوشته‌ها
653
لایک‌ها
3
سن
46
محل سکونت
UAE
به نقل از knowhow :
من اينو گذاشتم توي كد شايد بهتر باشه .!

آها درست شد ! نوشته من رو هم پاك ميكردي. چون الان ديگه معني نداره .
 

mahdi3466

کاربر تازه وارد
تاریخ عضویت
27 جولای 2003
نوشته‌ها
138
لایک‌ها
0
سلام دوستان
ولى اين اسكريپت يه ايراد كلى و خفن داره
اونم اينه كه اگه ازش دوبار استفاده بشه دو زمان متفاوت رو نشون ميده , با اختلاف چند ثانيه , متغير ها بايد قبل از تابع مقداردهى شن
www.mahdikh.5u.com
 

knowhow

مدیران قدیمی
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
3,478
لایک‌ها
22
عجب !!! خوب حالا يه بار استفاده كن !ّ!!!!!!!!!!!!!!!!!!!!
اگه كسي بلده لطفا درستش رو اينجا بنويسه .
 

ehsan

Administrator
مدیر انجمن
Administrator
تاریخ عضویت
5 دسامبر 2002
نوشته‌ها
7,949
لایک‌ها
3,918
محل سکونت
Internet
بالا