كسي مي تونه يه تقويم شمسي در جاوااسكريبت...

Amir531

Member
يه تقويم شمسي در جاوااسكريبت بدون نقص و ايراد مي خوام
تقويمي كه سورسش تو همين انجمن تحت عنوان تبديل تقويم ميلادي به شمسي اومده اشكال داره
لطفا اگه اطلاعاتي درباره تقويم هاي شمسي قابل استفاده در ويندوز دارين دريغ نكنيد
 

Amir531

Member
عجيبه
ولي روي دستگاه من يك روز عقبه
اگه ايراد از دستگاه منه پس چرا ايام هفته رو درست مي زنه؟؟؟
 

saman_sweden

Active Member
دوست عزيز اون سورسي كه در دسترس شماست
سه سال پيش من نوشته ام و هيچ ايرادي نداره و در مدت اين سه سال كاملا تست شده است
 

AliReza26

Active Member
Amir531 گفت:
omidak گفت:
من که باز دوباره چک کردم درسته.

توي داهات شما چهارشنبه 1 ارديبهشت بود
البته ببخشيدا

اولا آقا اميد رسيدن به خير
دوما آقا امير درست نيست كه شما به كسي كه داره جواب سوالت را مي ده توهين كني

البته ببخشيدهـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــا :wink:
 

Amir531

Member
به هيچ وجه من الوجوهي قصد توهين نداشتم
اما چون بعد از اين يك ماه متوجه شدم كه همتون درباره تقويم كم‌توجهي كردين جا خوردم
اون كلمه رو هم براي مزاح گفتم ببخشيد
اون چهارشنبه هم 2 ارديبهشت بود
 

kavian

Member
با سلام
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

Active Member
سلام:
بله٫ مسكه سال كبيسه رو حساب نميكنه.
من يه نيگاهي بهش ميندازم خبراشو بهتون ميدم :wink:
 

bw

Member
با سلام
منم اين كد رو امتحان كردم و تو روزهاي تحويل سال مشكل داره.
مثل اينكه اين كد مشكل سال كبيسه داره.
من هم به يه كد JS بدون نقص نياز دارم.
اگه كسي بتونه بنويسه يا كدهاي ASP موجود كه فكر كنم بعضياشون درست باشه رو به JS تبديل كنه خيلي ممنون ميشم.
 

Amir531

Member
دوستان اين خط رو در سورس اصلي جايگزين كنيد تا اصلاح بشه
document.write("امروز: "+week[d]+" "+[day+1]+" "+months[month-1]+" "+ year) ;
البته من اونو در سالهاي مختلف و ماه هاي مختلف امتحان كردم به نظر مي‌آد كه اصلاح شده باشه
اگه شما امتحان كردين و ديدين ايراد داره به من هم بگين
اين ايده از خودم نيست بلكه آقاي bw اونو ارايه كردند كه حقير ايراد كوچيكشو اصلاح كردم
ممنون
 

جدیدترین ارسال ها

بالا