datetime 模塊獲得當前日期和時間
先來介紹datetime模塊最最基本和最最常用的兩個方法
1、獲取當前日期(年月日格式)
>>>import datetime
>>>date = datetime.date.today()
>>>print date
2018-09-07
#將上面日期改成字符串格式
>>>strdate= date.strftime('%Y-%m-%d')
>>>print strdate
>>>print type(strdate)
2018-09-07
<type 'str'>
2、獲得當前時間
>>>import datetime
>>>time = datetime.datetime.now()
>>>print time
2018-09-07 16:02:16.071000
#將上面日期轉爲字符串格式
>>>strtime = time.strftime('%Y-%m-%d %H:%M:%S')
>>>print strtime
2018-09-07 16:02:16
3、具體看下date類
date類由year, month, day 三部分構成,下面我們分別提取年月日
datetime 是date+time ,如果想獲得提取具體的年月日時分秒可以根據time.year,time.hour,time.minute......
>>>datetime.date.today()
datetime.date(2018, 9, 7)
>>>print datetime.date.today().year
2018
>>>print datetime.date.today().month
9
>>>print datetime.date.today().day
7
4、時間移動timedelta(獲得幾天前\後,幾小時前\後)
如果要拿到5天前的日期,3個小時候的時間等等,這時候就是timedelta 發揮它的實力的時候了
#當前時間
>>>time = datetime.datetime.now()
>>>print time
2018-09-07 16:45:03.833000
#5天前的時間
>>>time1=datetime.datetime.now()-datetime.timedelta(days=5)
>>>print time1
2018-09-02 16:45:03.834000
#3小時候的時間
>>>time2=datetime.datetime.now()+datetime.timedelta(hours=3)
>>>print time2
2018-09-07 19:45:03.834000
5、字符串和時間的轉換
strftime: 將時間格式轉爲字符串
strptime: 將字符串轉格式爲時間
(1) datetime轉str
>>>time = datetime.datetime.now()
strtime = time.strftime('%Y-%m-%d %H:%M:%S')
print strtime
print type(strtime)
2018-09-07 17:02:52
<type 'str'>
(2)str轉datetime
>>>strt = datetime.datetime.strptime('2018-09-07 17:10:23','%Y-%m-%d %H:%M:%S')
>>>print strt
>>>print type(strt)
2018-09-07 17:10:23
<type 'datetime.datetime'>
6、timestamp 和格式化的字符串互換
(1)timestamp轉爲格式化的字符串
import time
>>>a = time.time()
>>>print a
1536475593.46
>>>b = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(a))
>>>print b
2018-09-09 14:46:33
(2)格式化的字符串轉爲timestamp
>>>c = time.mktime(time.strptime('2018-09-09 14:57:23','%Y-%m-%d %H:%M:%S'))
>>>print c
1536476243.0
7、時間戳和datetime互換
(1) 時間戳轉爲datetime 對象
>>>print datetime.datetime.fromtimestamp(time.time())
2018-09-09 15:05:19.694000
(2) datetime對象轉爲時間戳
>>>time.mktime(datetime.datetime.now().timetuple())
1536477098.0