سلام . یعنی سوال تبدیل تاریخ میلادی به شمسی اینقدر سخته که هیچ کس جواب نداده !!!!!!!! حداقل لطفا فرمولشو برام بفرستید ..
سلام . یعنی سوال تبدیل تاریخ میلادی به شمسی اینقدر سخته که هیچ کس جواب نداده !!!!!!!! حداقل لطفا فرمولشو برام بفرستید ..
Public Function Shamsi_Date(ByVal st As Date) As String
Dim Year, Month, Day As String
Dim Glob As New Globalization.PersianCalendar
Year = Glob.GetYear(st)
Month = Glob.GetMonth(st)
Day = Glob.GetDayOfMonth(st)
If Val(Month) < 10 Then Month = "0" & Month
If Val(Day) < 10 Then Day = "0" & Day
Shamsi_Date = Year & "/" & Month & "/" & Day
End Function
فقط کافیه این تابع رو صدا بزنی بعد تاریخی که میخوای به شمسی تبدیل بشه رو به عنوان پارامتر ارسال کنی
مثال
shamsi_date(now.date)
که تاریخ جاری سیستم رو به شمسی تبدیل میکنه
میشه با استفاده از جاوا و این تابعی که معرفی کردید،یه برنامه خیلی کوچیک که یه تاریخ رو تبدیل کنه بنویسید؟
تبدیل تاریخ میلادی به شمسی به وسیله فرمول کار آسانی است به شرطی که فرمولش موجود باشد! بیشتر برنامه نویسان دانششان بر مبنای نوشته های کتاب جغرافی دبیرستان و این نظر مشهور است که هر چهار سال یک کبیسه داریم و هر بیست سال یک کبیسه پنج ساله. اما این مطلب نادرست است. این قانون مربوط به تقویم میلادی است. در قوانین ایران هیچ ملاکی برای کبیسه تعیین نشده است و به همین دلیل هم تقویمهای شمسی بر اساس علم نجوم توسط ایرج ملک پور استخراج می شوند که بیشتر مواقع با همین فرمول منطبق است اما تضمینی نیست چنین باشد.
شاید تعجب کنید که دست کم سه فرمول برای کبیسه های هجری شمسی پیشنهاد شده که هیچکدام رسمی نیست. بنا بر این چون فرمول رسمی در کار نیست هر نوع پیاده سازی ممکن است با تقویم رسمی استخراجی اختلاف پیدا کند.
هم اکنون معیار استخراج تقویم توسط آقای ملک پور ظاهرا زمان عبور زمین از نقطه اعتدال بهاری است که به دلیل عدم گردش منظم زمین گاهی کمی جابجا می شود. با دانستن این زمان اگر لحظه تحویل سال پس از ظهر واقع شود آن روز را به سال قبل واگذار می کنند و اگر قبل از ظهر واقع شود به سال بعد.
شخصی به نام آقای موسی اکرمی کتابی در این مورد دارد که سه روش محاسبه تقویم جلالی را که دو تایش بر اساس جدول و یکی بر اساس فرمول است را شرح داده است.
یه این پست هم یک نگاهی بکنید که موید همین مطلب است:
https://barnamenevis.org/showthread.p...l=1#post330998
من چند تا کلاس نوشتم واسه این کار می زارم استفاده کنید
یه پروژه با NetBeans ساختم و طریقه ی استفاده ازش رو با یه نمونه توضیح دادم
خیلی سادس
اکثر برنامه ها یه مقدار خطا دارند و دلیلشم شاید این باشه که تقویم شمسی یک استاندارد فیکس شده نداره.
گفتم تذکری داده باشم. هر چند توابع بسیار زیادی برای اینکار در php نوشته شده به خاطر خیلی عظیم سایت های فارسی، به نظرم لازمه یکی رو به جاوا پورت کنیم
به کمک این پست فکر کنم مشکلتون کامل حل بشه :
سلام
میتونید از این library استفاده کنید که immutable هست و API اون شبیه به Java 8 هست:
https://github.com/mfathi91/persian-date-time