本文实例讲述了python日期相关操作。分享给大家供大家参考,具体如下:
专注于为中小企业提供成都网站制作、做网站、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业鹰潭免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。用 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 ''' base on python 2.7 Created on 2012-12-14 @author: yiahomen.com ''' import datetime import time def datetime_toString(dt): """把datetime转成字符串""" return dt.strftime("%Y-%m-%d") def string_toDatetime(string): """把字符串转成datetime""" return datetime.datetime.strptime(string, "%Y-%m-%d") def string_toTimestamp(strTime): """把字符串转成时间戳形式""" return time.mktime(string_toDatetime(strTime).timetuple()) def timestamp_toString(stamp): """把时间戳转成字符串形式""" return time.strftime("%Y-%m-%d-%H", time.localtime(stamp)) def datetime_toTimestamp(dateTime): """把datetime类型转外时间戳形式""" return time.mktime(dateTime.timetuple()) def substract_DateTime(dateStr1,dateStr2): """ 返回两个日期之间的差 """ d1=string_toDatetime(dateStr1) d2=string_toDatetime(dateStr2) return d2-d1 def substract_TimeStamp(dateStr1,dateStr2): """ 两个日期的 timestamp 差值 """ ts1= string_toTimestamp(dateStr1) ts2= string_toTimestamp(dateStr2) return ts1-ts2 def compare_dateTime(dateStr1,dateStr2): """两个日期的比较, 当然也可以用timestamep方法比较,都可以实现.""" date1 = string_toDatetime(dateStr1) date2 = string_toDatetime(dateStr2) return date1.date()>date2.date() def dateTime_Add(dateStr,days=0,hours=0,minutes=0): """ 指定日期加上 一个时间段,天,小时,或分钟之后的日期 """ date1= string_toDatetime(dateStr) return date1+datetime.timedelta(days=days,hours=hours,minutes=minutes) if __name__=='__main__': print substract_DateTime('2012-12-12','2012-01-01') #-346 days, 0:00:00 print substract_DateTime('2012-12-12','2012-01-01').days #-346 print substract_TimeStamp('2012-12-12','2012-01-01') #29894400.0 print substract_TimeStamp('2012-12-12','2012-01-01')/(24*60*60),'天' #346.0 天 print compare_dateTime('2012-12-12','2012-01-01') #True print dateTime_Add('2012-12-12',days=10,hours=5,minutes=10) #2012-12-22 05:10:00
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。