本文摘自php中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于Python中dateutil模块的理解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
最近刚接触项目组内的python项目,发现所有的时间格式都是用的iso8601,同事美其名曰说是为了项目的国际化(其实用户量最多几百人吧,还都集中在公司内部,哪来的国际化,哈哈哈哈!)。所以决定对该时间格式深入研究下,发现了python中的dateutil模块。
DATETIME转ISO8601格式,直接用isoformat()方法转即可
1 | now_time = datetime.now().isoformat()
|
输出为
1 | 2018-12-04T08:44:35.792445
|
1 2 3 | now_date_str = datetime.now().isoformat().split( '.' )[0]
my_format = '%Y-%m-%dT%H:%M:%S'
print (datetime. strptime (now_date_str, my_format))
|
这是python中最常用的将字符串转成时间格式的方法,输出结果为
1 2 3 | from dateutil.parser import parse
timestamp = parse(now_date_str, fuzzy=True)
print (timestamp)
|
输出结果同上,但这个parse方法中的fuzzy很神奇,可以模糊匹配时间格式,感兴趣的可以看下源码哈!
1 2 3 | today = date .today()
my_birthday = date (year=1992, month=3, day=17)
print ( '我已经出生' + str((today - my_birthday).days) + '天' )
|
可以直接计算我自己出生多少天了,输出为
但是如果我要计算我多大了,也就是出生多少年,会出现什么情况呢?
1 2 3 4 5 6 | Traceback (most recent call last):
2018-12-04 08:57:08
File "F:/pythonProject/testcode/testDate.py" , line 27, in <module>
print ((today-my_birthday).years)
2018-12-04 08:57:08
AttributeError: 'datetime.timedelta' object has no attribute 'years'
|
很遗憾,报错了,因为timedelta中没有获取年份和月份的方法,所以我们继续使用dateutil模块
阅读剩余部分
相关阅读 >>
Python函数中如何返回多个值?(代码示例)
Python解析socket数据流异常bytes的问题(详细)
深入了解Python之django框架
Python print 如何换行输出?
Python中二叉堆的详细介绍(代码示例)
如何理解Python中with语句
Python字典有set方法吗
配置Python连接oracle,读取excel数据写入数据库
Python教你高效办公,自制屏幕翻译工具
Python中关于字典dict的使用详解
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python中dateutil模块的理解(附示例)