سلام
من مي خواستم تاريخ ميلادي يا شمسي رو به قمري تبديل كنم و بالعكس
تبديل تاريخ ميلادي به شمسي و بالعكسشو با شمسي . دي ال ال به راحتي انجام مي دم
اگر يك چيزي مثل همون براي قمري هم باشه ديگه خيلي توپ ميشه:31:
Printable View
سلام
من مي خواستم تاريخ ميلادي يا شمسي رو به قمري تبديل كنم و بالعكس
تبديل تاريخ ميلادي به شمسي و بالعكسشو با شمسي . دي ال ال به راحتي انجام مي دم
اگر يك چيزي مثل همون براي قمري هم باشه ديگه خيلي توپ ميشه:31:
هیچکس نبود
سلام
در خصوص تقویم شمسی باید بیان کنم که متاسفانه اکثر کدهایی که میبینید مشکل دارند و صحیح نیستند و یا کلاً کبیسه ها را در نظر نگرفته اند یا کبیسه های 5 ساله با وقوع حدود 33 سال یکبار را درنظر نگرفته اند.
(البته همه نویسندگانشان هم فکر میکنند کاملترین الگوریتم را نوشته اند!)
در خصوص تقویم قمری هم باید بدانید که به علت ذات خاص این تقویم، هیچگاه به صورت کامل و بیشک و تریدید نمیتوانت گفت یک روز مشخص چندم ماه است 0مسئله عید فطر هر سال را که یادتان می آید؟)
ولی میتوان با اختلاف اندک فرمولی اش کرد.
(پس دنبال چیز مطلق و خالص و بی عیب نباشید.!)
اگر از vb9 استفاده کنید که متاسفانه بعید میدانم اینکار را انجام دهید الگوریتم 11 تقویم مختلف جهانی به صورت آماده در دسترس شما است!
مثلاً
کلاسس Calendar انواع متدها و قابلیت های خاص و کامل یک تقویم را شامل میشود.کد:Dim calendar As New System.Globalization.PersianCalendar
' تبدیل از شمسی به میلادی
Dim dt As Date = calendar.ToDateTime(1387, 1, 1, 0, 0, 0, 0)
' تبدیل از میلادی به شمسی
Dim iYear As Integer = calendar.GetYear(dt)
Dim iMonth As Integer = calendar.GetMonth(dt)
Dim iDay As Integer = calendar.GetDayOfMonth(dt)
- سال کبیسه است یا نه؟
- ماه کبیسه است یا نه؟
- تعداد ماه ها در سال مشخص
- تعداد روزها در سال و ماه مشخص
- تعداد روزها در سال مشخص
- روز هفته
- روز سال
- جمع و تفریق مقادیر تاریخی
و ...
لیست تقویم های موجود و در دسترس در VB9
EastAsianLunisolarCalendar
GregorianCalendar (تقویم استاندارد میلادی)
HebrewCalendar
HijriCalendar (تقویم هجری قمری)
JapaneseCalendar
JulianCalendar
KoreanCalendar
PersianCalendar (تقویم هجری شمسی)
TaiwanCalendar
ThaiBuddhistCalendar
UmAlQuraCalendar
به راحتی امکان تبدیل به یکدیگر هم وجود دارد
(
البته کلاسس CultureInfo هم وجود دارد که شامل اطلاعات فرهنگی کلیه کشورهای دنیا است!
فرمتهای عددی ... جداکننده اعشای ...
واحد پول ... نماد پول ....
نام ماهای سال ... فرمت استاندارد تاریخ ...
مقایسه رشته های String تحت فرهنگ مورد نظر ...
و...
)
موفق باشید.
برای vb6 چه؟
ضمنا من برای شمسی از shamsi.dll استفاده می کنم و به نظرم واقعا کامله
سلام
برای من فرقی ندارد ولی شما برای اطمینان خودتان میتوانید چند تاریخ خاص را توسط این dll تبدیل کنید؟نقل قول:
ضمنا من برای شمسی از shamsi.dll استفاده می کنم و به نظرم واقعا کامله
کد:1893-03-20
1959-03-21
1964-03-20
1992-03-19
1992-03-20
1992-03-21
1993-03-20
1997-03-20
ایناها رو تو میلادی بنویسم؟
سلام
اینها تاریخ میلادی هستند که شما میتوانید معادل شمسی آن را با dll تان به دست آوردید که اگر صحیح باشد حداقل 50 درصد مشکلتان حل میشود و خیالتان راحت میشوید که میتوانید روی هجری شمسی آن اعتماد کنید.نقل قول:
ایناها رو تو میلادی بنویسم؟
فوقش میماند مشکل قمری
خوب از کجا بفهمم درست گفته یا نه؟
حداقل درستش رو بنویس که من مقایسه کنم [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
من شخصا دو روش محاسباتی با نام "تقویم جلالی" دیده ام.
یکی در کتابها که کبیسه های 5 ساله پیچیده دارد. (حدود 300 سال 500 سال و...)
یکی هم در اینترنت که بسیار معروف است و کبیسه های پنج ساله منظمی را ترسیم میکند (33 ساله)
ولی در سالهایی که در پیش داریم تا اوایل 140X (متاسفانه x را فراموش کرده ام!) این دو روش دقیقاً یک جواب میدهند و منطبق هستند.
مجدداً تاکید میکنم که بیشتر الگوریتم های برنامه نویسی که در اینترنت پیدا میکنید غلط هستند و با هیچ کدام از دو روش فوق منطبق نیستند.
مخصوصاً و مخصوصاً و مخصوصاً آنهایی که به کرات If و 20 و 21 دارند، اینها صد در صد غلط هستند و فوقش در یک بازه 4 یا حداکثر 33 ساله صحیح کار میکنند.
کد:1893-03-20
1271-12-30
1959-03-21
1337-12-30
1964-03-20
1342-12-30
1992-03-19
1370-12-29
1992-03-20
1370-12-30
1992-03-21
1371-01-01
1993-03-21
1372-01-01
1997-03-20
1375-12-30
بعضیاش درسته ولی بعضیاش نه
حالا چند تا سوال دارم
1.از کجا بفهمم که اینی که شما میگی درسته؟
2.این تاریخی که در آوردی با چه فرمولی بوده
3.در کل من باید چه غلطی بکنم [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]