PDA

View Full Version : تبدیل تاریخ میلادی به شمسی



nafis1414
سه شنبه 15 شهریور 1390, 09:11 صبح
سلام . یعنی سوال تبدیل تاریخ میلادی به شمسی اینقدر سخته که هیچ کس جواب نداده !!!!!!!! حداقل لطفا فرمولشو برام بفرستید ..:افسرده:

damanpak
سه شنبه 27 دی 1390, 22:57 عصر
سلام . یعنی سوال تبدیل تاریخ میلادی به شمسی اینقدر سخته که هیچ کس جواب نداده !!!!!!!! حداقل لطفا فرمولشو برام بفرستید ..:افسرده:


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)
که تاریخ جاری سیستم رو به شمسی تبدیل میکنه

spiderman200700
سه شنبه 27 دی 1390, 23:29 عصر
میشه با استفاده از جاوا و این تابعی که معرفی کردید،یه برنامه خیلی کوچیک که یه تاریخ رو تبدیل کنه بنویسید؟:متفکر:

ناصرقلی
چهارشنبه 28 دی 1390, 10:30 صبح
تبدیل تاریخ میلادی به شمسی به وسیله فرمول کار آسانی است به شرطی که فرمولش موجود باشد! بیشتر برنامه نویسان دانششان بر مبنای نوشته های کتاب جغرافی دبیرستان و این نظر مشهور است که هر چهار سال یک کبیسه داریم و هر بیست سال یک کبیسه پنج ساله. اما این مطلب نادرست است. این قانون مربوط به تقویم میلادی است. در قوانین ایران هیچ ملاکی برای کبیسه تعیین نشده است و به همین دلیل هم تقویمهای شمسی بر اساس علم نجوم توسط ایرج ملک پور استخراج می شوند که بیشتر مواقع با همین فرمول منطبق است اما تضمینی نیست چنین باشد.
شاید تعجب کنید که دست کم سه فرمول برای کبیسه های هجری شمسی پیشنهاد شده که هیچکدام رسمی نیست. بنا بر این چون فرمول رسمی در کار نیست هر نوع پیاده سازی ممکن است با تقویم رسمی استخراجی اختلاف پیدا کند.
هم اکنون معیار استخراج تقویم توسط آقای ملک پور ظاهرا زمان عبور زمین از نقطه اعتدال بهاری است که به دلیل عدم گردش منظم زمین گاهی کمی جابجا می شود. با دانستن این زمان اگر لحظه تحویل سال پس از ظهر واقع شود آن روز را به سال قبل واگذار می کنند و اگر قبل از ظهر واقع شود به سال بعد.
شخصی به نام آقای موسی اکرمی کتابی در این مورد دارد که سه روش محاسبه تقویم جلالی را که دو تایش بر اساس جدول و یکی بر اساس فرمول است را شرح داده است.
یه این پست هم یک نگاهی بکنید که موید همین مطلب است:
http://barnamenevis.org/showthread.php?65885-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D9%81%D8%A7%D8%B1%D8%B3%DB%8Cpersian-calendar&p=330998&viewfull=1#post330998

L u k e
چهارشنبه 28 دی 1390, 10:51 صبح
من چند تا کلاس نوشتم واسه این کار می زارم استفاده کنید
یه پروژه با NetBeans ساختم و طریقه ی استفاده ازش رو با یه نمونه توضیح دادم
خیلی سادس

reza4361
شنبه 25 اردیبهشت 1395, 12:18 عصر
:تشویق::تشویق::تشویق:

vahid-p
شنبه 25 اردیبهشت 1395, 20:43 عصر
اکثر برنامه ها یه مقدار خطا دارند و دلیلشم شاید این باشه که تقویم شمسی یک استاندارد فیکس شده نداره.
گفتم تذکری داده باشم. هر چند توابع بسیار زیادی برای اینکار در php نوشته شده به خاطر خیلی عظیم سایت های فارسی، به نظرم لازمه یکی رو به جاوا پورت کنیم

silvermanserver
سه شنبه 04 خرداد 1395, 10:13 صبح
به کمک این پست فکر کنم مشکلتون کامل حل بشه :

http://goo.gl/WjKBlb

moottii
یک شنبه 12 آذر 1396, 11:08 صبح
سلام

میتونید از این library استفاده کنید که immutable هست و API اون شبیه به Java 8 هست:

https://github.com/mfathi91/persian-date-time