python日期相關(guān)操作實(shí)例小結(jié)
本文實(shí)例講述了python日期相關(guān)操作。分享給大家供大家參考,具體如下:
用 Python 做項(xiàng)目時(shí),經(jīng)常會(huì)遇到與日期轉(zhuǎn)換相關(guān),日期計(jì)算相關(guān)的功能,動(dòng)不動(dòng)就要去查python手冊(cè),感覺(jué)麻煩,因此把自己常用的一些東西,總結(jié)了一下,總體說(shuō)來(lái)到目前為止遇到如下一些需求:
1. 用python 把datetime轉(zhuǎn)成字符串
2. 用python 把字符串轉(zhuǎn)成datetime
3. 用python 把字符串轉(zhuǎn)成時(shí)間戳形式
4. 用python 把時(shí)間戳轉(zhuǎn)成字符串形式
5. 用python 把把datetime類型轉(zhuǎn)外時(shí)間戳形式
6. 用python 計(jì)算兩個(gè)日期之間的差
7. 用python 計(jì)算兩個(gè)日期的 timestamp 差值
8. 用python 比較兩個(gè)日期的大小
9. 指定日期加上 一個(gè)時(shí)間段,天,小時(shí),或分鐘之后的日期
下面是測(cè)試代碼:
#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轉(zhuǎn)成字符串""" return dt.strftime("%Y-%m-%d") def string_toDatetime(string): """把字符串轉(zhuǎn)成datetime""" return datetime.datetime.strptime(string, "%Y-%m-%d") def string_toTimestamp(strTime): """把字符串轉(zhuǎn)成時(shí)間戳形式""" return time.mktime(string_toDatetime(strTime).timetuple()) def timestamp_toString(stamp): """把時(shí)間戳轉(zhuǎn)成字符串形式""" return time.strftime("%Y-%m-%d-%H", time.localtime(stamp)) def datetime_toTimestamp(dateTime): """把datetime類型轉(zhuǎn)外時(shí)間戳形式""" return time.mktime(dateTime.timetuple()) def substract_DateTime(dateStr1,dateStr2): """ 返回兩個(gè)日期之間的差 """ d1=string_toDatetime(dateStr1) d2=string_toDatetime(dateStr2) return d2-d1 def substract_TimeStamp(dateStr1,dateStr2): """ 兩個(gè)日期的 timestamp 差值 """ ts1= string_toTimestamp(dateStr1) ts2= string_toTimestamp(dateStr2) return ts1-ts2 def compare_dateTime(dateStr1,dateStr2): """兩個(gè)日期的比較, 當(dāng)然也可以用timestamep方法比較,都可以實(shí)現(xiàn).""" date1 = string_toDatetime(dateStr1) date2 = string_toDatetime(dateStr2) return date1.date()>date2.date() def dateTime_Add(dateStr,days=0,hours=0,minutes=0): """ 指定日期加上 一個(gè)時(shí)間段,天,小時(shí),或分鐘之后的日期 """ 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
備注:根據(jù)當(dāng)前日期,對(duì)年月進(jìn)行加減的方法
import calendar, datetime def increment_month(when): days = calendar.monthrange(when.year, when.month)[1] return when + datetime.timedelta(days=days) now = datetime.datetime.now() print 'It is now %s' % now print 'In a month, it will be %s' % increment_month(now)
PS:這里再為大家推薦幾款關(guān)于日期與天數(shù)計(jì)算的在線工具供大家使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬(wàn)年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽(yáng)歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python日期與時(shí)間操作技巧總結(jié)》、《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python操作日期和時(shí)間的方法
- python實(shí)現(xiàn)字符串和日期相互轉(zhuǎn)換的方法
- python中日期和時(shí)間格式化輸出的方法小結(jié)
- Python之日期與時(shí)間處理模塊(date和datetime)
- python根據(jù)日期返回星期幾的方法
- Python實(shí)用日期時(shí)間處理方法匯總
- python判斷給定的字符串是否是有效日期的方法
- Python日期的加減等操作的示例
- python時(shí)間日期函數(shù)與利用pandas進(jìn)行時(shí)間序列處理詳解
- Python日期操作學(xué)習(xí)筆記
- python+pandas+時(shí)間、日期以及時(shí)間序列處理方法
相關(guān)文章
用Python創(chuàng)建聲明性迷你語(yǔ)言的教程
這篇文章主要介紹了用Python創(chuàng)建聲明性迷你語(yǔ)言的教程,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04python django使用haystack:全文檢索的框架(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇python django使用haystack:全文檢索的框架(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09Python探針完成調(diào)用庫(kù)的數(shù)據(jù)提取
這篇文章主要介紹了Python探針完成調(diào)用庫(kù)的數(shù)據(jù)提取,Python中可以通過(guò)sys.meta_path來(lái)實(shí)現(xiàn)import?hook的功能,下文詳細(xì)資料介紹,需要的小伙伴可以參考一下2022-05-05Python?pyinstaller打包exe最新完整圖文教程
pyinstaller是一個(gè)非常簡(jiǎn)單的打包python的py文件的庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python?pyinstaller打包exe的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12Caffe均值文件mean.binaryproto轉(zhuǎn)mean.npy的方法
今天小編就為大家分享一篇Caffe均值文件mean.binaryproto轉(zhuǎn)mean.npy的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python單例模式之selenium driver實(shí)現(xiàn)單例
這篇文章主要介紹了python單例模式之selenium driver實(shí)現(xiàn)單例,使用裝飾器實(shí)現(xiàn)單例,文章基于python的相關(guān)資料實(shí)現(xiàn)主題,具有一的的參考價(jià)值,需要的朋友可以參考一下2022-03-03Python jieba 中文分詞與詞頻統(tǒng)計(jì)的操作
這篇文章主要介紹了Python jieba 中文分詞與詞頻統(tǒng)計(jì)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03python3通過(guò)qq郵箱發(fā)送郵件以及附件
這篇文章主要為大家詳細(xì)介紹了python3通過(guò)qq郵箱發(fā)送郵件以及附件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05