不管何時何地,只要我們編程時遇到了跟時間有關的問題,都要想到 datetime 和 time 標準庫模塊,今天我們就用它內部的方法,詳解python操作日期和時間的方法。
1.將字符串的時間轉換為時間戳
代碼如下:方法:
a = "2013-10-10 23:40:00"
#將其轉換為時間數組
import time
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
#轉換為時間戳:
timeStamp = int(time.mktime(timeArray))
timeStamp == 1381419600
2.格式更改
如a = "2013-10-10 23:40:00",想改為 a = "2013/10/10 23:40:00"
方法:先轉換為時間數組,然后轉換為其他格式
代碼如下:timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
3.時間戳轉換為指定格式日期
方法一:利用localtime()轉換為時間數組,然后格式化為需要的格式,如:
代碼如下:timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
otherStyletime == "2013-10-10 23:40:00"
方法二:
代碼如下:import datetime
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
otherStyletime == "2013-10-10 23:40:00"
4.獲取當前時間并轉換為指定日期格式
方法一:
代碼如下:import time
#獲得當前時間時間戳
now = int(time.time()) ->這是時間戳
#轉換為其他日期格式,如:"%Y-%m-%d %H:%M:%S"
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
方法二:
代碼如下:import datetime
#獲得當前時間
now = datetime.datetime.now() ->這是時間數組格式
#轉換為指定的格式:
otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")
5.獲得三天前的時間的方法
代碼如下:import time
import datetime
#先獲得時間數組格式的日期
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))
#轉換為時間戳:
timeStamp = int(time.mktime(threeDayAgo.timetuple()))
#轉換為其他字符串格式:
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S")
注:timedelta()的參數有:days,hours,seconds,microseconds
6.給定時間戳,計算該時間的幾天前時間
代碼如下:timeStamp = 1381419600
#先轉換為datetime
import datetime
import time
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
threeDayAgo = dateArray - datetime.timedelta(days = 3)
#參考5,可以轉換為其他的任意格式了
7、用Python計算昨天和明天的日期
代碼如下:>>> import datetime #導入日期時間模塊
>>> today = datetime.date.today() #獲得今天的日期
>>> print today #輸出今天日期
2014-01-04
>>> yesterday = today - datetime.timedelta(days=1) #用今天日期減掉時間差,參數為1天,獲得昨天的日期
新聞熱點
疑難解答