在格鲁吉亚(基督教)日期转换为波斯日期,反之亦然

问题描述 投票:10回答:3

如何在Gregorian date中将Persian date转换为Python,反之亦然?

All I found是一些小工具和东西,将创建波斯日历。我不想要波斯日历。我只想将日期转换为彼此。那我该怎么办呢?

python date datetime
3个回答
11
投票

在网上挖掘更多后,我找到了a library that somebody wrote for this purpose: Jalali.py

您可以使用此Python代码将Gregorian和Persian日期相互转换。

>>> import jalali
>>> jalali.Persian('1393-1-11').gregorian_string()
'2014-3-31'
>>> jalali.Persian(1393, 1, 11).gregorian_datetime()
datetime.date(2014, 3, 31)
>>> jalali.Persian('1393/1/11').gregorian_string("{}/{}/{}")
'2014/3/31'
>>> jalali.Persian((1393, 1, 11)).gregorian_tuple()
(2014, 3, 31)

>>> jalali.Gregorian('2014-3-31').persian_string()
'1393-1-11'
>>> jalali.Gregorian('2014,03,31').persian_tuple()
(1393, 1, 11)
>>> jalali.Gregorian(2014, 3, 31).persian_string("{0}")
'1393'

3
投票

此外,您可以使用jdatetime库,如下所示:

 import jdatetime
 jalili_date = jdatetime.date(1396,2,30).togregorian()
 gregorian_date =  jdatetime.date.fromgregorian(day=19,month=5,year=2017) 

请参阅the document中的其他详细信息。


1
投票

你可以使用PersianTools库:

例:

>>> from persiantools.jdatetime import JalaliDate, JalaliDateTime
>>> import datetime

>>> JalaliDate.today().to_gregorian()
datetime.date(2016, 7, 8)

>>> JalaliDate.to_jalali(2013, 9, 16)
JalaliDate(1392, 6, 25, Doshanbeh)

>>> JalaliDate(datetime.date(1990, 9, 23)) 
JalaliDate(1369, 7, 01, Yekshanbeh)

>>> JalaliDateTime.now().to_gregorian()
datetime.datetime(2016, 7, 8, 1, 43, 24, 720505)
© www.soinside.com 2019 - 2024. All rights reserved.