تبدیل تاریخ شمسی به میلادی و میلادی به شمسی در پایتون ( به روز شده‌)

 

در اینجا ماژولی رو از زبان جاوا اسکریپت به پایتون ترجمه کردم که براحتی می توانید توسط ان تاریخ های میلادی به شمسی و شمسی به مبلادی را به یکدیگه تبدیل کنین . این ماژول برای پایتون ۲٫۷ نوشته شده است . برای مثال برخی متد آن :

import jdate

## shamsi be miladi
jd = jdate.persian_to_jd(1367,11,21)
print jdate.jd_to_gregorian(jd)
>>> [1989.0, 2.0, 10.0]

## miladi be shamsi

jd = jdate.gregorian_to_jd(1989,2,10)
print jdate.jd_to_persian(jd)
>>> [1367.0, 11.0, 21.0]

در این ماژول تاریخ بصورت یک لیست ۳ تایی برگردانده می شود که شامل روز و ماه و سال مورد نظز می باشد تا راحت برای بکار گیری هر بخش از تاریخ بشه ازش استفاده کرد. این ماژول حیاتی برای برنامه نویسان پارسی زبان را از اینجا دانلود کنید.

14 دیدگاه برای «تبدیل تاریخ شمسی به میلادی و میلادی به شمسی در پایتون ( به روز شده‌)»

  1. باسلام
    از بابت انتشار این کتابخونه ممنون هستم
    در حال یادگیری پایتون هستم و برای یک پروژه سرگزمی از این ماژول استفاده نمودم که با یک سری مشکلات مواجه شدم که سعی کردم اونها را رو برطرف کنم. الان دیگه تقریبا تکمیل شده و برای همین هم اصلاح شده ماژول رو براتون فرستادم تا اگه صلاح دونستید توی ماژول اصلی اعمال بشه!
    البته من با ورژن ۳.۰ کار میکنم شاید برای ورژن ۲ این مشکلات رو نداشته باشه:
    ۱- تا ۲۱ فروردین تاریخ درست نمایش داده نمیشه(FullDate()) منظورمه.
    ۲- خروجی همین تابع برای ماه بصورت اعشار هست مثلا ۱۳۹۲/۴٫۲۳۲/۲۵
    ۳- من برای یه حالت کرون مانندی از این کتابخونه استفاده کردم و مدام دارم تاریخ امروز شمسی رو چک میکنم متاسفانه چون این کتابخونه مقدار روز، ماه و سال میلادی فقط در ابتدای اجرا از سیستم می خونه بنابراین اگر برای مدت طولانی کتابخونه دیگه بارگذاری نشه تاریخ ثابت می مونه.
    ۴-یه حالت دلتا برای تاریخ شمسی در نظر نگرفته بودین (این موضوع موردی بود مثلا من لازم داشتم تاریخ دیروز شمسی رو داشته باشم…) همین جوری اضافه کردم …
    در کل اگه بشه این کتابخونه به صورت کلاس پیدا بشه بهتره چون حداقل متغییرها در هر بار فراخوانی، بازنشانی می شود.
    http://uploadtak.com/images/k8442_jDate.rar

    1. سلام . خواهش می کنم.
      بله . منم توی وب می چرخیدم که یه کد تبدیل تاریخ به سی دیدیم و برای سرگرمی به پایتون تبدیلش کردم . من پایتون ۲.۷ کار می کنم . کار تبدیل که تمام شد فورا اشتراک گذاشتم ولی بعدا توی پروژه های خودم که استفاده کردم بعضی از نواقصی که شما فرمودید رو اصلاح کردم اما دیگه بروز رسانی نکردم . ولی باتون موافقم یه دستی بش می کشم و ورژن بعدی رو با تغییراتی منتشر می کنم. ازتون بخاطر راهنمایی و نظرتون سپاس گذارم دوست عزیز

  2. سلام
    این کد رو من نوشتم ولی خطای زیر رو میگیره :
    No module named jdate

    من با جنگو کار میکنم
    django_jalali رو هم نصب کردم
    پایتون ۲٫۷ هم نصب کردم
    میشه بگید مشکلم چیه ؟
    با تشکر

    1. سلام . خب شما کد بالایی که من گذاشتم رو وارد می کنین ولی از ماژولی که ترجمه کردم استفاده نمی کنین . فایلی رو که من ضمیمه کردم از زیپ در بیارید بعدش jdate.py رو توی همون پوشه ایی که برنامتون رو ذخیره کردین کپی کنین و حالا فایل jdate رو import کنین
      import jdate و بقیه ی کد ها . مشکلی بود خبر بدین . مرسی

      1. سلام.
        ببخشید من چیزی از برنامه نویسی نمیدونم. آیا امکانش هست که یه توضیح مختصری بدید که چطوری میتونیم از این کد برای تبدیل تاریخ استفاده کنیم؟
        من فقط میخوام تاریخ میلادی بدم و شمسی بگیرم. همین

        متشکر

    1. :)) نه هنوز. سعی می کنم منتشر کنم دیگه. خیلی دیره ولی انشاالله اصلاحات بهمراه پورت کردن به سایر زبان‌های برنامه‌نویسی رو انجام بدم برای تمام مخازن منتشر می کنم.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *