1. 程式人生 > >Python下time模塊和datetime模塊的使用

Python下time模塊和datetime模塊的使用

格式 回文 沒有 min mda 暫停 運算 represent rep

時間模塊

time模塊

時間表示格式:

1.格式化時間: 【 2018-01-01 01:00:00 】

2.時間戳: 【 1518407077.940927 】 -> 秒數(從1970開始到現今)

3.以元組方式表示,九個元素(格式化元組)

  元素如下:
    (1)  tm_year=2018,  # 年
    (2)  tm_mon=2,      # 月
    (3)  tm_mday=12,    # 日
    (4)  tm_hour=11,    # 小時
    (5)  tm_min=49,     # 分鐘
    (6)  tm_sec=13,     # 秒
    (7)  tm_wday=0,     # 0(Mon)-6(Sun) 從0(周一)開始數 -> 6(周天)
    (8)  tm_yday=43,    # 今年的第幾天
    (9)  tm_isdst=0     # 時區,如果是1,則表示夏令時

使用

  • timezone 返回時間標準實際與當前時間差(秒數)

    In [45]: time.timezone
    
    Out[45]: -28800
    
    In [46]: time.timezone / 3600
    
    Out[46]: -8.0   # 中國時間與標準時間相差8小時

  • altzonetimezone 差不多


  • daylight 查看你是否使用了夏令時,0表示沒有使用

    In [50]: time.daylight
    
    Out[50]: 0

  • time () 返回當前的時間戳

    In [37]: time.time()
    
    Out[37]: 1518407588.8324711
  • sleep ()

    使程序暫停幾秒

    In [51]: time.sleep(3)
    
    In [52]:

  • gmtime () 傳入時間戳,返回格式化元組 【 UTC時區 】

    In [54]: time.gmtime(time.time())
    
    Out[54]: time.struct_time(tm_year=2018, tm_mon=2, tm_mday=12, tm_hour=4, tm_min=7, tm_sec=50, tm_wday=0, tm_yday=43, tm_isdst=0)

  • localtime () 傳入時間戳,返回格式化元組(不傳入參數,默認當前時間) 【 根據本地區域決定 】

    In [55]: time.localtime()
    
    Out[55]: time.struct_time(tm_year=2018, tm_mon=2, tm_mday=12, tm_hour=12, tm_min=10, tm_sec=13, tm_wday=0, tm_yday=43, tm_isdst=0)
    In [56]: time.localtime(123123123)
    
    Out[56]: time.struct_time(tm_year=1973, tm_mon=11, tm_mday=26, tm_hour=8, tm_min=52, tm_sec=3, tm_wday=0, tm_yday=330, tm_isdst=0)

取出元組數據:

  In [57]: a = time.localtime()

  In [58]: a.tm_year # 取出年份
  Out[58]: 2018

  In [59]: a.tm_mon  # 取出月份
  Out[59]: 2

  In [60]: a.tm_sec # 取出分鐘
  Out[60]: 54

  • mktime () 由元組轉換為時間戳

    In [63]: time.mktime(time.localtime())
    
    Out[63]: 1518409129.0

  • strftime (format,tuple) --> string 自定義生成格式化時間 -> string

    1. 格式化操作

      %Y Year with century as a decimal number.
      %m Month as a decimal number [01,12].
      %d Day of the month as a decimal number [01,31].
      %H Hour (24-hour clock) as a decimal number [00,23].
      %M Minute as a decimal number [00,59].
      %S Second as a decimal number [00,61].
      %z Time zone offset from UTC.
      %a Locale‘s abbreviated weekday name.
      %A Locale‘s full weekday name.
      %b Locale‘s abbreviated month name.
      %B Locale‘s full month name.
      %c Locale‘s appropriate date and time representation.
      %I Hour (12-hour clock) as a decimal number [01,12].
      %p Locale‘s equivalent of either AM or PM

    2. 使用:
    
    In [67]: time.strftime(‘%Y-%m-%d‘,time.localtime())
    Out[67]: ‘2018-02-12‘

  • ctime () 傳入時間戳,返回文本型時間

    In [69]: time.ctime()
    Out[69]: ‘Mon Feb 12 12:30:44 2018‘
    
    In [77]: time.ctime(123123123)
    Out[77]: ‘Mon Nov 26 08:52:03 1973‘

  • asctime () 傳入格式化元組,返回文本型時間
    In [79]: time.asctime(time.localtime(123123))
    Out[79]: ‘Fri Jan  2 18:12:03 1970‘
    In [80]: time.asctime()
    Out[80]: ‘Mon Feb 12 12:34:23 2018‘

datetime模塊

datetie模塊

  • datetime.now () 返回當前時間

    In [156]: print(datetime.datetime.now())
    
    In [156]: 2018-02-12 12:39:43.309016

時間運算

In [174]: datetime.datetime.now() + datetime.timedelta(1)
Out[174]: datetime.datetime(2018, 2, 13, 12, 43, 12, 301435)
In [175]: datetime.datetime.now() - datetime.timedelta(1)
Out[175]: datetime.datetime(2018, 2, 11, 12, 43, 28, 154795)
In [181]: datetime.datetime.now() + datetime.timedelta(hours=1)
Out[181]: datetime.datetime(2018, 2, 12, 13, 44, 54, 816476)
In [182]: datetime.datetime.now() + datetime.timedelta(hours=1)
Out[182]: datetime.datetime(2018, 2, 12, 13, 44, 56, 429732)

Python下time模塊和datetime模塊的使用