2008年12月29日 星期一

Python 的時間

因為經常為 Python 處理時間的問題煩惱,所以打算留篇記錄以便之後查閱。

  • 取得今天日期


    import datetime
    today = datetime.date.today()
    # today 是一個 datetime.date object

  • 取得現在日期及時間


    import datetime
    current = datetime.datetime.now()
    # current 是一個 datetime.datetime object

  • 建立日期


    import datetime
    some_day = datetime.datetime(2008, 12, 25)

  • 建立日期及時間


    import datetime
    some_day = datetime.datetime(2008, 12, 25, 12, 0, 0)

  • 格式化現在時間


    from time import strftime
    now = strftime('%Y-%m-%d %H:%M:%S')
    # now 是一個 str, '2008-12-29 16:12:34'

  • 格式化 datetime.datetime object


    import datetime
    some_day = datetime.datetime(2008, 12, 25)
    print some_day.strftime('%Y-%m-%d')
    # 得到 '2008-12-25'

  • datetime.datetime 可以相減(算差距),也可以直接比較

  • 換成 tuple


    import datetime
    now_tuple = datetime.datetime.now().timetuple()
    # now_tuple 會得到一個 tuple

  • 取得 timestamp


    import time
    ts = time.time()
    # ts 是一個 timestamp, type 為 float

  • 從 timestamp 換回 datetime object


    import time
    import datetime
    ts = time.time()
    dt = datetime.datetime.fromtimestamp(ts)

  • 從 time tuple 換成 timestamp


    from time import mktime
    ts = mktime(now_tuple)
    # ts 是 timestamp

0 意見: