1. 程式人生 > >python基礎18

python基礎18

1、獲取當前日期和時間
我們先看如何獲取當前日期和時間:

>>> from datetime import datetime
>>> now = datetime.now() # 獲取當前datetime
>>> print(now)
2015-05-18 16:28:07.198690
>>> print(type(now))
<class 'datetime.datetime'>

注意到datetime是模組,datetime模組還包含一個datetime類,通過from datetime import datetime匯入的才是datetime這個類。

如果僅匯入import datetime,則必須引用全名datetime.datetime。

datetime.now()返回當前日期和時間,其型別是datetime。

2、獲取指定日期和時間
要指定某個日期和時間,我們直接用引數構造一個datetime:

>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期時間建立datetime
>>> print(dt)
2015-04-19 12:20:00

3.把一個datetime型別轉換為timestamp(即時間戳)只需要簡單呼叫timestamp()方法:

>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期時間建立datetime
>>> dt.timestamp() # 把datetime轉換為timestamp
1429417200.0

4.timestamp轉換為datetime
要把timestamp轉換為datetime,使用datetime提供的fromtimestamp()方法:

>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t))
2015-04-19 12:20:00

5.str轉換為datetime
使用者輸入的日期和時間是字串,要處理日期和時間,首先必須把str轉換為datetime。轉換方法是通過datetime.strptime()實現,需要一個日期和時間的格式化字串:

>>> from datetime import datetime
>>> cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
>>> print(cday)
2015-06-01 18:19:59

字串’%Y-%m-%d %H:%M:%S’規定了日期和時間部分的格式。

6.datetime轉換為str
如果已經有了datetime物件,要把它格式化為字串顯示給使用者,就需要轉換為str,轉換方法是通過strftime()實現的,同樣需要一個日期和時間的格式化字串:

>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now.strftime('%a, %b %d %H:%M'))
Mon, May 05 16:28

7.datetime加減
對日期和時間進行加減實際上就是把datetime往後或往前計算,得到新的datetime。加減可以直接用+和-運算子,不過需要匯入timedelta這個類:

>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)
>>> now + timedelta(hours=10)
datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)
>>> now - timedelta(days=1)
datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)
>>> now + timedelta(days=2, hours=12)
datetime.datetime(2015, 5, 21, 4, 57, 3, 540997)