1. 程式人生 > >python中的時間和日期

python中的時間和日期

1. python中的datetime是處理時間和日期的標準庫

獲取當前時間: >>> 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的值與時區完全無關。