python日期相关操作实例小结
本文实例讲述了python日期相关操作。分享给大家供大家参考,具体如下:
用Python做项目时,经常会遇到与日期转换相关,日期计算相关的功能,动不动就要去查python手册,感觉麻烦,因此把自己常用的一些东西,总结了一下,总体说来到目前为止遇到如下一些需求:
1.用python把datetime转成字符串
2.用python把字符串转成datetime
3.用python把字符串转成时间戳形式
4.用python把时间戳转成字符串形式
5.用python把把datetime类型转外时间戳形式
6.用python计算两个日期之间的差
7.用python计算两个日期的timestamp差值
8.用python比较两个日期的大小
9.指定日期加上一个时间段,天,小时,或分钟之后的日期
下面是测试代码:
#coding:utf-8 ''' baseonpython2.7 Createdon2012-12-14 @author:yiahomen.com ''' importdatetime importtime defdatetime_toString(dt): """把datetime转成字符串""" returndt.strftime("%Y-%m-%d") defstring_toDatetime(string): """把字符串转成datetime""" returndatetime.datetime.strptime(string,"%Y-%m-%d") defstring_toTimestamp(strTime): """把字符串转成时间戳形式""" returntime.mktime(string_toDatetime(strTime).timetuple()) deftimestamp_toString(stamp): """把时间戳转成字符串形式""" returntime.strftime("%Y-%m-%d-%H",time.localtime(stamp)) defdatetime_toTimestamp(dateTime): """把datetime类型转外时间戳形式""" returntime.mktime(dateTime.timetuple()) defsubstract_DateTime(dateStr1,dateStr2): """返回两个日期之间的差""" d1=string_toDatetime(dateStr1) d2=string_toDatetime(dateStr2) returnd2-d1 defsubstract_TimeStamp(dateStr1,dateStr2): """两个日期的timestamp差值""" ts1=string_toTimestamp(dateStr1) ts2=string_toTimestamp(dateStr2) returnts1-ts2 defcompare_dateTime(dateStr1,dateStr2): """两个日期的比较,当然也可以用timestamep方法比较,都可以实现.""" date1=string_toDatetime(dateStr1) date2=string_toDatetime(dateStr2) returndate1.date()>date2.date() defdateTime_Add(dateStr,days=0,hours=0,minutes=0): """指定日期加上一个时间段,天,小时,或分钟之后的日期""" date1=string_toDatetime(dateStr) returndate1+datetime.timedelta(days=days,hours=hours,minutes=minutes) if__name__=='__main__': printsubstract_DateTime('2012-12-12','2012-01-01') #-346days,0:00:00 printsubstract_DateTime('2012-12-12','2012-01-01').days #-346 printsubstract_TimeStamp('2012-12-12','2012-01-01') #29894400.0 printsubstract_TimeStamp('2012-12-12','2012-01-01')/(24*60*60),'天' #346.0天 printcompare_dateTime('2012-12-12','2012-01-01') #True printdateTime_Add('2012-12-12',days=10,hours=5,minutes=10) #2012-12-2205:10:00
备注:根据当前日期,对年月进行加减的方法
importcalendar,datetime defincrement_month(when): days=calendar.monthrange(when.year,when.month)[1] returnwhen+datetime.timedelta(days=days) now=datetime.datetime.now() print'Itisnow%s'%now print'Inamonth,itwillbe%s'%increment_month(now)
PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:
在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在线万年历日历:
http://tools.jb51.net/bianmin/wannianli
在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间操作技巧总结》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《PythonSocket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。