python的jalali datetime绑定

jdatetime的Python项目详细描述


jdatetime是python的datetime模块的Jalali实现

状态

https://travis-ci.org/slashmili/python-jalali.svg?branch=masterhttps://ci.appveyor.com/api/projects/status/ge5rk703ydx649a6?svg=truehttps://img.shields.io/pypi/v/jdatetime.svg

安装

pip install jdatetime

文档

这个模块完全遵循python标准datetime模块的方法http://docs.python.org/release/2.7.1/library/datetime.html

这些方法还添加到jdatetime.date和jdatetime.datetime:

fromgregorian(**kw)Convertgregoriantojalaliandreturnjdatetime.datejdatetime.date.fromgregorian(day=X,month=X,year=X)jdatetime.date.fromgregorian(date=datetime.date)jdatetime.datetime.fromgregorian(datetime=datetime.datetime)togregorian(self)Convertcurrentjalalidatetogregorianandreturndatetime.dateisleap(self)checkifyearisleapyearalgortimisbasedonhttp://en.wikipedia.org/wiki/Leap_year

示例

$ python
Python 2.6.6 (r266:84292, Sep 152010, 15:52:39)[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license"for more information.
(InteractiveConsole)
>>> import jdatetime
>>> jdatetime.datetime.now()
jdatetime.datetime(1394, 12, 4, 8, 37, 31, 855729)
>>> jdatetime.date.today()
jdatetime.date(1394, 12, 4)

区域设置

为了得到波斯语的日期字符串,您需要将地区设置为fa_ir。地区 可以在实例化date/datetime实例时显式指定,或者 设置默认区域设置。

实例区域设置仅为命名参数

importjdatetimefa_date=jdatetime.date(1397,4,23,locale='fa_IR')fa_datetime=jdatetime.datetime(1397,4,23,11,40,30,locale='fa_IR')

datedatetime实例提供方法aslocale()返回实例的克隆 在不同的地区使用相同的时间戳。

默认区域设置

可以设置默认的区域设置,因此之后创建的所有新实例都将使用 所需的区域设置,除非另有明确指定。

$ python
Python 2.7.9 (default, Mar  12015, 12:57:24)[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license"for more information.
(InteractiveConsole)
>>> import locale
>>> import jdatetime
>> jdatetime.datetime.now().strftime("%a, %d %b %Y %H:%M:%S")
u'Wed, 08 Ord 1395 20:47:32'
>>> locale.setlocale(locale.LC_ALL, "fa_IR")'fa_IR'
>>> jdatetime.datetime.now().strftime("%a, %d %b %Y %H:%M:%S")
u'\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647, 08 \u0627\u0631\u062f\u06cc\u0628\u0647\u0634\u062a 1395 20:47:56'

如果您的需求需要使用相同的过程支持不同的地区, 可以为每个线程设置默认区域设置。新的日期日期时间实例 在每个线程中创建,默认情况下将使用指定的区域设置。 这同时支持python线程和greenlet。

importjdatetimejdatetime.set_locale('fa_IR')jdatetime.datetime.now().strftime('%A %B')# u'\u062f\u0648\u0634\u0646\u0628\u0647 \u062e\u0631\u062f\u0627\u062f'

释放步骤

  • bump the version setup.py
  • 在changelog.md中添加发行说明
  • 提交并创建一个名为v3.5.9的标记
  • python setup.py sdist
  • 捆绳上传距离/jdatetime-3.5.9.tar.gz

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从Aparabi线程返回   为什么这个正则表达式可以使用Java而不能使用Groovy   java密钥管理器连接早期刷新令牌   数组。lang.ArrayIndexOutofBounds异常:4   java嗅探访问的站点并保存到文件   java从一个特定子字符串后开始的字符串中获取两个双倍子字符串   JavaAndroid:SharedReferences。如何正确地实施它们   java通过Flatworm创建列表   java如何在TestNG框架中的@BeforeClass方法中使用数据驱动测试   java标题视图bug我不明白   Java中的Java解释器或编译器   java如何将一维索引转换为多维数组中的相应索引?   Java泛型警告。util。收藏   java JSP页面在不合适的地方创建JSESSIONID cookie   配置javaapachelog4jlog4j。xml配置多个错误   无法设置java EditText焦点   java将文本框的标签放在框的上方,而不是侧面   如何使用Java8处理可空列表?   java将3x3 2D数组插入9x9 2D数组