您好,登錄后才能下訂單哦!
本文實例講述了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 ''' 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
備注:根據當前日期,對年月進行加減的方法
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:這里再為大家推薦幾款關于日期與天數計算的在線工具供大家使用:
在線日期/天數計算器:
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數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。