python中的時間和日期
阿新 • • 發佈:2019-01-28
1. python中的datetime是處理時間和日期的標準庫
>>> print(now_time)
2015-08-26 09:55:24.042232
>>> type(now_time)
<class 'datetime.datetime'>
說明:第二行中的datetime是datetime庫中的類,所以now_time的型別是datetime.datetime日期型別
2. python中的所有型別有:字串,布林型別,整數,浮點數,數字,列表,元組,字典,日期
3. 獲取指定日期,因為datetime模組中有一個datetime類,所以我們可以制定一個例項來獲取某個具體時間
舉例:>>> from datetime import datetime
>>> a=datetime(2015,01,06,12,12,12)
SyntaxError: invalid token
>>> a=datetime(2015,1,06,12,12,12)
SyntaxError: invalid token
>>> a=datetime(2015,1,6,12,12,12)
>>> a
datetime.datetime(2015, 1, 6, 12, 12, 12)
>>> print(a)
2015-01-06 12:12:12
說明:datetime類來建立例項的時候,初始化的值如果是單數的話不需要在前面加0
4. datetime轉換為timestamp,實際上在計算機中,儲存的日期並不是我們所看到的年月日,而是將年月日轉換為浮點型數字進行儲存的
舉例: >>> a=datetime(1993,1,6,12,12,12)
>>> a.timestamp()
726293532.0
注意Python的timestamp是一個浮點數。如果有小數位,小數位表示毫秒數
5. timestamp轉換為datetime,datetime類提供了一個fromtimestamp函式,呼叫這個函式可以將浮點型數值轉換為datetime日期型別
舉例: >>> a=726293532.0
>>> datetime.fromtimestamp(a)
datetime.datetime(1993, 1, 6, 12, 12, 12)
>>> print(datetime.fromtimestamp(a))
1993-01-06 12:12:12
6. str轉換為datetime,轉換方法是通過datetime.strptime()實現
舉例: >>> a=datetime.strptime('1993-1-6 12:12:12','%Y-%m-%d %H:%M:%S')
>>> print(a)
1993-01-06 12:12:12
注意:字串'%Y-%m-%d %H:%M:%S'規定了日期和時間部分的格式,時分秒必須全部大寫,年月日其中年必須大寫,月日必須小寫
7. datetime的加減,是可以直接進行加減的,但必須引入timedelta()類
舉例: >>> from datetime import timedelta
>>> a+timedelta(days=3,hours=4)
datetime.datetime(2015, 8, 29, 15, 11, 46, 774470)
8. 時間差
舉例: >>> a=datetime.now()
>>> b=a+timedelta(days=3,hours=4)
>>> (b-a).days
3
>>> (b-a).seconds
14400
>>> (b-a).hours
9. datetime表示的時間需要時區資訊才能確定一個特定的時間,否則只能視為本地時間,如果要儲存datetime,最佳方法是將其轉換為timestamp再儲存,因為timestamp的值與時區完全無關。
獲取當前時間: >>> from datetime import datetime
>>> now_time=datetime.now()>>> print(now_time)
2015-08-26 09:55:24.042232
>>> type(now_time)
<class 'datetime.datetime'>
說明:第二行中的datetime是datetime庫中的類,所以now_time的型別是datetime.datetime日期型別
2. python中的所有型別有:字串,布林型別,整數,浮點數,數字,列表,元組,字典,日期
3. 獲取指定日期,因為datetime模組中有一個datetime類,所以我們可以制定一個例項來獲取某個具體時間
舉例:>>> from datetime import datetime
>>> a=datetime(2015,01,06,12,12,12)
SyntaxError: invalid token
>>> a=datetime(2015,1,06,12,12,12)
SyntaxError: invalid token
>>> a=datetime(2015,1,6,12,12,12)
>>> a
datetime.datetime(2015, 1, 6, 12, 12, 12)
>>> print(a)
2015-01-06 12:12:12
說明:datetime類來建立例項的時候,初始化的值如果是單數的話不需要在前面加0
4. datetime轉換為timestamp,實際上在計算機中,儲存的日期並不是我們所看到的年月日,而是將年月日轉換為浮點型數字進行儲存的
舉例: >>> a=datetime(1993,1,6,12,12,12)
>>> a.timestamp()
726293532.0
注意Python的timestamp是一個浮點數。如果有小數位,小數位表示毫秒數
5. timestamp轉換為datetime,datetime類提供了一個fromtimestamp函式,呼叫這個函式可以將浮點型數值轉換為datetime日期型別
舉例: >>> a=726293532.0
>>> datetime.fromtimestamp(a)
datetime.datetime(1993, 1, 6, 12, 12, 12)
>>> print(datetime.fromtimestamp(a))
1993-01-06 12:12:12
6. str轉換為datetime,轉換方法是通過datetime.strptime()實現
舉例: >>> a=datetime.strptime('1993-1-6 12:12:12','%Y-%m-%d %H:%M:%S')
>>> print(a)
1993-01-06 12:12:12
注意:字串'%Y-%m-%d %H:%M:%S'規定了日期和時間部分的格式,時分秒必須全部大寫,年月日其中年必須大寫,月日必須小寫
7. datetime的加減,是可以直接進行加減的,但必須引入timedelta()類
舉例: >>> from datetime import timedelta
>>> a+timedelta(days=3,hours=4)
datetime.datetime(2015, 8, 29, 15, 11, 46, 774470)
8. 時間差
舉例: >>> a=datetime.now()
>>> b=a+timedelta(days=3,hours=4)
>>> (b-a).days
3
>>> (b-a).seconds
14400
>>> (b-a).hours
9. datetime表示的時間需要時區資訊才能確定一個特定的時間,否則只能視為本地時間,如果要儲存datetime,最佳方法是將其轉換為timestamp再儲存,因為timestamp的值與時區完全無關。