View Full Version : سوال: تبدیل تاریخ شمسی به میلادی و بر عکس ؟؟؟؟؟؟؟؟؟؟//
malihehshajari
یک شنبه 26 آبان 1392, 09:22 صبح
سلام
میشه راهنمایی کنید چطور میشه تاریخ میلادی و شمسی رو به هم تبدیل کرد . (جنگو و پایتون)
با تشکر
n.nowroozi
یک شنبه 26 آبان 1392, 11:12 صبح
django-jalali رو نصب کن توی لینک هم راهنمای استفاده ازش هست. البته من یک خورده با استفاده ازش مشکل داشتم یه اروری میداد مجبور شدم برم دستی درستش کنم اگه شما هم ارور گرفتی بگو تا بنویسم چیکار کنی درست بشه .
https://github.com/slashmili/django-jalali
malihehshajari
یک شنبه 26 آبان 1392, 11:36 صبح
مرسی از جوابتون
من رفتم تو این لینک بعد دستور
sudo easy_install jdatetime
رو اجرا کردم
ولی وقتی تو برنامه اضافه کردم ارور داد نمیشناسه
n.nowroozi
یک شنبه 26 آبان 1392, 12:47 عصر
خب شما فقط jdatetime رو نصب کردی باید این دستور رو هم بزنی :
sudo easy_install django_jalali
n.nowroozi
یک شنبه 26 آبان 1392, 16:28 عصر
مدلت رو نگذاشتی!
خروجی این دستور رو بزار:
python manage.py validate
malihehshajari
یک شنبه 26 آبان 1392, 16:44 عصر
خیلی ممنون از بابت راهنماییتون مشکلم حل شد دست شما هم درد نکنه
حالا یسوال دیگه :
این تاریخ میلادی میگیره به شمسی تبدیل میکنه
حالا من یجاهایی دارم از کاربر تاریخ شمسی میگیرم و اون رو با فرمت متنی ذخیره میکنم . چطور میتونم اون رو هم با فرمت تاریخ ذخیره کنم که وقتی میخوام تاریخ ها رو با هم مقایسه کنم مشکلی نداشته باشم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
n.nowroozi
یک شنبه 26 آبان 1392, 16:55 عصر
خواهش میکنم.
توی لینک پایین میتونید مثال هارو ببینید:
http://dotpy.ir/1391/02/27/%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%B4%D9%85%D8%B3%DB%8C-%D8%A8%D9%87-%D9%85%DB%8C%D9%84%D8%A7%D8%AF-%D9%88-%D9%85%DB%8C%D9%84%D8%A7%D8%AF%DB%8C-%D8%A8%D9%87-%D8%B4%D9%85/
malihehshajari
دوشنبه 27 آبان 1392, 08:35 صبح
این کد ها رو نوشتم
حالا این خطا رو داد :
TypeError at /doctor/
expected string or buffer
Exception Location: /usr/local/lib/python2.7/dist-packages/django/utils/dateparse.py in parse_datetime, line 67
چرا ؟؟؟؟؟؟؟؟؟؟
کمککککککککککککک
البته با عرض شرمندگی خیلی زیاد دارم سوال می پرسم :خجالت:
n.nowroozi
دوشنبه 27 آبان 1392, 09:47 صبح
خب اون متد مال jdate هست نه مال jdatetime کتابخونش فرق میکنه. از jdatetime باید اینجوری استفاده کنی:
from jdatetime import JalaliToGregorian, GregorianToJalali
gregorian_date_obj = JalaliToGregorian(1391,02,21)
gregorian_date =gregorian_date_obj.getGregorianList()
print " gregorian_date :::::::",gregorian_date
jalali_date_obj = GregorianToJalali(2012,1,31)
jalali_date = jalali_date_obj.getJalaliList()
print "jalali_date :::::::::::::",jalali_date
malihehshajari
دوشنبه 27 آبان 1392, 11:02 صبح
مرسی درست شد
واقعا ممنونم از راهنماییهاتون
malihehshajari
دوشنبه 18 آذر 1392, 09:03 صبح
سلام
چرا این کدایی که نوشتید هر دو روز تاریخش تغییر میکنه
مثلا امروز 16 ام رو درست نشون میده فردا رو هم میزنه 16 ام بعد پس فردا دریت میشه 18 ام ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟/
n.nowroozi
دوشنبه 18 آذر 1392, 12:58 عصر
متوجه منظورت نمیشم . چیزی رو که میزنی با خروجی که بهت میده رو بزار
malihehshajari
دوشنبه 18 آذر 1392, 13:16 عصر
list1 = str(datetime.today().date()).split("-")
jalali_date_obj = GregorianToJalali(int(list1[0]),int(list1[1]),int(list1[2]))
jalali_date = jalali_date_obj.getJalaliList()
g = str(jalali_date ).replace("," , "-")
g = g.replace("(" , "")
g = g.replace(")" , "")
g= g.replace(" " , "")
m=g.split("-")
if len(m[1]) == 1:
m[1] = "0"+ m[1]
if len(m[2]) == 1:
m[2] = "0" + m[2]
g = m[0] +"-" + m[1] + "-" + m[2]
یک روز تاریخ رو درست نشون میده و یک روز تاریخ روز قبل رو نشون میده
:(
n.nowroozi
دوشنبه 18 آذر 1392, 14:36 عصر
کد مشکل نداره حدس میزنم مشکل از تایم سرورت یا تایمی که روی جنگو ست کردی باشه
بعد سال ماه روز رو هم اینجوری راحتر میتونستی بگیری :
jalali_date_obj = GregorianToJalali(2013,10,20)
print jalali_date_obj.jyear, jalali_date_obj.jmonth,jalali_date_obj.jday
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.