واضح آرشیو وب فارسی:سایت ریسک: t=9265">كسي مي تونه يه تقويم شمسي در جاوااسكريبت... Amir531 29 فروردين 1383, 04:59يه تقويم شمسي در جاوااسكريبت بدون نقص و ايراد مي خوام تقويمي كه سورسش تو همين انجمن تحت عنوان تبديل تقويم ميلادي به شمسي اومده اشكال داره لطفا اگه اطلاعاتي درباره تقويم هاي شمسي قابل استفاده در ويندوز دارين دريغ نكنيد omidak 29 فروردين 1383, 07:41سلام: من اون رو تست كردم مشكلي نداشت :roll: :wink: Amir531 02 ارديبهشت 1383, 01:53عجيبه ولي روي دستگاه من يك روز عقبه اگه ايراد از دستگاه منه پس چرا ايام هفته رو درست مي زنه؟؟؟ omidak 02 ارديبهشت 1383, 05:43من که باز دوباره چک کردم درسته. AliReza 26 03 ارديبهشت 1383, 00:56بله من هم چك كردم . درست بود Amir531 04 ارديبهشت 1383, 05:42ولي روي دستگاه من ايراد داره نگاه كنيد: Amir531 04 ارديبهشت 1383, 05:44بابا اين ايراد داره آقا سامان به نظرتون ايراد از چيه؟ saman_sweden 04 ارديبهشت 1383, 09:56دوست عزيز اون سورسي كه در دسترس شماست سه سال پيش من نوشته ام و هيچ ايرادي نداره و در مدت اين سه سال كاملا تست شده است Amir531 25 ارديبهشت 1383, 07:42من که باز دوباره چک کردم درسته. توي محل شما چهارشنبه 1 ارديبهشت بود البته ببخشيدا omidak 27 ارديبهشت 1383, 21:03من که باز دوباره چک کردم درسته. توي داهات شما چهارشنبه 1 ارديبهشت بود البته ببخشيدا ببخشيد آقايه شهري يادم نمياد اون چهار شنبه 4 هفته پيش كي بود. اما همون موقع يادمه كه درست بود. AliReza 26 27 ارديبهشت 1383, 23:26من که باز دوباره چک کردم درسته. توي داهات شما چهارشنبه 1 ارديبهشت بود البته ببخشيدا اولا آقا اميد رسيدن به خير دوما آقا امير درست نيست كه شما به كسي كه داره جواب سوالت را مي ده توهين كني البته ببخشيدهــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــــــــا :wink: Amir531 28 ارديبهشت 1383, 04:21به هيچ وجه من الوجوهي قصد توهين نداشتم اما چون بعد از اين يك ماه متوجه شدم كه همتون درباره تقويم كمتوجهي كردين جا خوردم اون كلمه رو هم براي مزاح گفتم ببخشيد اون چهارشنبه هم 2 ارديبهشت بود kavian 28 ارديبهشت 1383, 07:24با سلام Amir531 عزيز كاملا حق با شماست. سامان جان. برنامه شما ايراد داره و مشكلش در محاسبه سال كبيسه هست. و دليل اين كه در طول اين سه سال كه برنامه رو نوشتيد با مشكل مواجه نشده هم اينه كه اين سه سال كبيسه نبودن. همونطور كه ميدونيد هر سال دقيقا 365 روز نيست و تقريبا هر سال چيزي در حدود 6 ساعت اضافه مياره و به همين دليل بعد از گذشت 4 سال به سال آخر 1 روز اضافه ميكنن و سال كبيسه بوجود مياد. امسال ( سال 1383 ) سال كبيسه هست و به اين دليل تقويم دچار مشكل شده. اگه شما تاريخ سيستم رو 1 سال عقب بياريد (1382) ميبينيد كه تقويم درست كار ميكنه. اما اگه 4 سال عقب يا جلو ببريد ( مثلا سالهاي 1379 و 1387 ) بازم با مشكل مواجه ميشه. سامان خان. لطفا خودت برنامه رو تصحيح كن. چون من نخواستم بدون اجازه Source برنامه شما رو دستكاري كنم. فقط راه حل خودمو ميگم: براي اينكه تشخيص بديد سال كبيسه هست يا نه: ميتونيد 3 سال از سال شمسي بدست اومده كسر كنيد و حاصل رو بر 4 تقسيم كنيد. اگه باقيمانده صفر بود سال كبيسه است. مثلا: (1383-3)/4=0 و اين نشون ميده كه سال 1383 سال كبيسه هست و همينطور: (1382-3)/4=344.75<>0 پس سال 1382 كبيسه نيست. و بعد از اينكه تشخيص داديد سال كبيسه است بايد به تاريخ شمسي بدست اومده 1 روز اضافه كنيد. اميدوارم سخت نگفته باشم و متوجه منظورم بشيد. omidak 28 ارديبهشت 1383, 07:53سلام: بله٫ مسكه سال كبيسه رو حساب نميكنه. من يه نيگاهي بهش ميندازم خبراشو بهتون ميدم :wink: kavian 31 ارديبهشت 1383, 23:59 Amir531 01 خرداد 1383, 04:44از توجهتون بسيار متشكرم آقا كاويان خيلي لطف كردين Amir531 03 خرداد 1383, 11:00آقا كاويان چرا برداشتيش؟ omidak 03 خرداد 1383, 17:54سلام: آقا خودتون حذف اش كرديد؟ اگر نه به من اطلاع بديد. :wink: bw 08 خرداد 1383, 05:13با سلام منم اين كد رو امتحان كردم و تو روزهاي تحويل سال مشكل داره. مثل اينكه اين كد مشكل سال كبيسه داره. من هم به يه كد JS بدون نقص نياز دارم. اگه كسي بتونه بنويسه يا كدهاي ASP موجود كه فكر كنم بعضياشون درست باشه رو به JS تبديل كنه خيلي ممنون ميشم. Amir531 09 خرداد 1383, 05:55دوستان اين خط رو در سورس اصلي جايگزين كنيد تا اصلاح بشه document.write("امروز: "+week[d]+" "+[day+1]+" "+months[month-1]+" "+ year) ; البته من اونو در سالهاي مختلف و ماه هاي مختلف امتحان كردم به نظر ميآد كه اصلاح شده باشه اگه شما امتحان كردين و ديدين ايراد داره به من هم بگين اين ايده از خودم نيست بلكه آقاي bw اونو ارايه كردند كه حقير ايراد كوچيكشو اصلاح كردم ممنون AliReza 26 09 خرداد 1383, 10:41آقا ممنون bw 10 خرداد 1383, 05:08با سلام خدمت شما كه عرض شود مشكل اين كد اونجوري كه قبلا گفتم مربوط به سال كبيسه هست. يعني نميدونه چه سالي كبيسه است. اين كد تو همه موارد خوب كار ميكنه بجز تحويل سال. اين اصلاحي كه من انجام دادم و همچنين شما انجام داديد مشكلاي رو حل نميكنه. نميدونم شما چه جوري ميگي من تستش كردم و مشكلي نداره؟! من اين كد رو واسه تحويل سال 82-83 امتحان كردم و طبق معمول جواب اشتباه. من خواهشم ا ز همه اينه كه اگه تغيري تو كد ميدن اونو واسه تمام موارد چك كنند تا بالاخره يه كد بدون نقص در بياد. ممنون bw 10 خرداد 1383, 05:12من نظرم اينه كه از كدهاپي كه به زبانهاي ديگه نوشته شده و مشكلي هم نداره مثل همين وب سايت كمك بگيريم و اونو تبديل به JS كنيم. چرا بياپيم دوباره اينكارو انجام بديم اگه كسي ديگع قبلا زحمتش رو كشيده. ممنون Amir531 13 خرداد 1383, 04:45البته آقاي bw: اين خطي كه شما به عنوان اصلاحيه نوشته بودين اشتباه بود٬ اما حالا اون اشتباه رو گرفتم شما خطي كه من نوشتم رو در سورس اصلي جايگزين كنيد تا متوجه منظورم بشين به هر حال با نظر شما مبني بر تهيه يه سورس بينقص كاملا موافقم. ممنون حدیث 13 خرداد 1383, 19:42سلام دوستان عزيز! من تازه واردم و اولين بار براي پيدا كردن كد تبديل تاريخ ميلادي به شمسي اومدم. خودم يك چيزايي نوشتم كه خيلي دقيق نبود. تو اين دو صفحه كه با صحبتهاي شما دوستان آشنا شدم متوجه شدم كه كد دومي كه توسط bw قرار بود كد اول را كه سامان نوشته بود تصحيح كنه يك روز را عقب نشان ميداد. تا اينجا حق با امير بود. به گمونم با اين كار بشه درستش كرد week[d] يعني يك روز اضافي رو از هفته كم كنيم. خدانگهدارتون حديث Amir531 14 خرداد 1383, 04:12ضمن خوشآمدگويي به جناب حديث به اين سايت و تشكر از اينكه اولين ارسالشون در اين انجمنه. دوستان اين سورسو ببينيد: <html dir="rtl"> <head> <script> 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+1]+" "+months[month-1]+" "+ year+" "+"هـ.ش") ; } </script> </head> <body dir="rtl" style="font-family:tahoma; FONT-SIZE: 12px"> <script>showdate()</script> <meta "Content-Type" content="text/html; charset=windows-1256"> <title>تقويم هجري شمسي در جاوااسكريبت</title> </body> </html> به نظر مياد برخي از عزيزان متوجه نشدند كه ما به كجا رسيديم. از اين به بعد روي اين سورس نظر بدين. نميگم بي نقصه ولي كمترين نقص رو داره. به قول آقاي bw تنها نقصش در هنگام تحويل ساله ولي در مواقع ديگه اشكالي نداره و درست كار ميكنه در واقع اگه اين ايراد هم حل بشه٬ ميتونيم ختم اين انجمن رو اعلام كنيم ممنون AliReza 26 14 خرداد 1383, 13:26كد زير مشكل تقويم فارسي را حل مي كنه <script> 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+1]+" "+months[month-1]+" "+ year) ; } </script> Amir531 22 خرداد 1383, 04:11اين تقويم رو حال كنيد. اين فايل رو بگيرين و به عنوان بك گراند دسكتاپ بذارين٬ بعد موس رو كه ببرين روي لينك تقويم امروز(كنار ساعت ويندوز)٬ تقويم نمايش داده ميشه. البته چون مانيتور من 17 اينچه و رزوليشن اون 1280در 1024 اين صفحه هم براي اين خصوصيات تهيه شده٬ شما ميتونيد توي دريم ويور اونو متناسب با مانيتور خودتون كنيد يا فايلي بسازين كه موقعيت لايه اون لينك هميشه در منتها اليه پايين و سمت راست صفحه باشه. به هر حال اينم يه راهه براي افزودن تقويم شمسي به ويندوز اكسپي بدون نصب برنامه جانبي كه معمولا اين برنامههاي جانبي بد فرم و بد قلق هستن٬ مثل فارسيساز MRT bw 22 خرداد 1383, 05:07با عرض سلام خب كي ميتونه مشكل سال كبيسه رو تو اين كد حل كنه؟ من قبلا گفتم كه بايد الگوريتم سال كبيسه رو از زبانهاي ديگه گرفت و اونو تبديل كرد به JS من فكر ميكنم تقويمهاپي كه تو اين وب سايت و وب سايت idevcenter.com و iranasp.com هستش بدمن نقص باشند. چندي پيش من تو مجله شبكه يه مصاحبه خوندم با آقاي اميد خندان راد كه مبتكر تقويم هجري شمسي هستند و اونو به Microsoft هم پيشنهاد دادند كه تو ويندوز بعدي اضافه كنند. همين وب سايتهاپي كه گفتم از كد آقاي خندان راد استفاده ميكنند. ممنون Amir531 28 خرداد 1383, 05:52اين سورس در ويبي اسكريبته مشكل سال كبيسه هم نداره AliReza 26 28 خرداد 1383, 14:57اين سورس در ويبي اسكريبته مشكل سال كبيسه هم ندارهمرسي omidak 28 خرداد 1383, 22:41اين سورس در ويبي اسكريبته مشكل سال كبيسه هم نداره سلام: اينو من با VB 6 نوشته بودم كه مسكه يكي به VBScript تبدیل اش کرده. دقیقاً همونه :wink: Amir531 29 خرداد 1383, 10:59از سايت ايران جاوا اسكريبت گرفته بودمش omidak 29 خرداد 1383, 12:17سلام: خوب اونو من اولين بار تويه همين سايت دادم و احتمالاً از همينجا برداشتن/ :wink: borujerd 24 تير 1383, 22:11ببخشيد اگه ميشه بفرماييد اين كد كجتست ماهم برداريم AliReza 26 25 تير 1383, 00:38ببخشيد اگه ميشه بفرماييد اين كد كجتست ماهم برداريمبرو به صفحه قبلي همين تاپيك....
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 617]