Python中time和datetime模塊的簡單用法


python中與時間相關的一個模塊是time模塊,datetime模塊可以看為是time模塊的高級封裝。

time模塊中經常用到的有一下幾個方法:

  1. time()

    用來獲取時間戳,表示的結果為從1970年1月1日開始計算到現在時間之間的秒數。如:
    time.time()
    輸出:1507727656.9446979  #今天是2017/10/11 21:15:00
  2. localtime()

    獲取當前時間信息。包含年月日時分秒等等。返回結果以元組的形式返回。如:
    time.localtime()
    輸出:time.struct_time(tm_year=2017, tm_mon=10, tm_mday=11, tm_hour=21, tm_min=14, tm_sec=16, tm_wday=2, tm_yday=284, tm_isdst=0)
    將時間戳轉換為日期格式:
    time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1521879629))  #當地時間
    time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(1521879629))  #標准時間
  3. strftime()

    它可以將localtime()中獲取的時間元組轉換為自定義的日期時間格式進行。如:
    time.strftime("%Y-%m-%d %H:%M:%S",struct_local_time)
    輸出:2017-10-10/11/17 21:14:16
    其中%Y-%m-%D %H:%M:%S即為自定義的日期時間格式,字母有一下的含義:

    %a     顯示簡化星期名稱
    %A     顯示完整星期名稱
    %b     顯示簡化月份名稱
    %B     顯示完整月份名稱
    %c     本地相應的日期和時間表示
    %d     顯示當月第幾天
    %H     按24小時制顯示小時
    %I      按12小時制顯示小時
    %j      顯示當年第幾天
    %m    顯示月份
    %M    顯示分鍾數)
    %p     本地am或者pm的相應符
    %S     顯示秒數)
    %U     一年中的星期數
    %w     顯示在星期中的第幾天,默認從0開始表示周一
    %W     和%U基本相同
    %x     本地相應日期
    %X     本地相應時間
    %y     去掉世紀的年份(00 - 99)
    %Y     完整的年份
    %Z     時區的名字(如果不存在為空字符)
    %%    ‘%’字符

  4. gmtime()

    可以將時間秒轉換為日期時間,此時日期和時間表示的是標准時間,北京時間為標准時間加上8個小時。不傳入參數代表當前時間即轉換time()函數的結果。如:
    time.gmtime()
    輸出:time.struct_time(tm_year=2017, tm_mon=10, tm_mday=11, tm_hour=13, tm_min=34, tm_sec=13, tm_wday=2, tm_yday=284, tm_isdst=0)
    當傳入參數時。如:
    time.gmtime(1403127843)
    輸出:time.struct_time(tm_year=2014, tm_mon=6, tm_mday=18, tm_hour=21, tm_min=44, tm_sec=3, tm_wday=2, tm_yday=169, tm_isdst=0)
  5. asctime()和ctime()

    兩個都會返回固定格式的當前日期和時間(Wed Oct 11 21:35:28 2017),但兩個接收的參數不同。
    asctime()接收的是元組格式的日期時間,而ctime()接收的是秒。然后都返回本地的格式化后的日期時間。如:
    ctime(1403127843)
    輸出:Thu Jun 19 05:44:03 2014
    asctime(time.localtime())
    輸出:Wed Oct 11 21:42:56 2017
    當兩個方法都不傳入參數,返回的都為當前日期和時間:如:

    Wed Oct 11 21:45:42 2017
    Wed Oct 11 21:45:42 2017

  6. mktime()

    將元組形式的日期時間轉換為秒的形式。必須有參數!如:
    mktime(time.gmtime())    #time.gmtime()返回的為元組形式的標准時間。
    輸出:1507700832.0

關於datetime模塊,使用的時候建議僅使用當中的now()方法。如:

  1. datetime.datetime.now()

    輸出:2017-10-13 10:12:17.174169
  2. timedelta()

    timedelta 方法必須與其他方法配合使用,不能單獨存在。參數有不同的形式。如:
    datetime.datetime.now()+datetime.timedelta(3)
    輸出:2017-10-16 10:12:17.174169    #表示今天向后推3天,也可以為負數,表示向前推幾天
  3. 此外還有另外的參數形式。如:

    datetime.datetime.now()+datetime.timedelta(minutes=20)
    輸出:2017-10-13 10:32:17.174169    #表示現在的20分鍾后
    datetime.datetime.now()+datetime.timedelta(minutes=20,hours=2)
    輸出:2017-10-13 12:32:17.174669    #小時和分鍾向后推


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM