python中time、datetimeモジュールの使用


1、はじめに
python webの開発に携わったことがあるなら、きっとこのような経験があります。様々な複雑で煩雑な業務ロジックに対して、様々な時間の制約が混ぜられています。一日の間にユーザーが行ったすべての操作記録を展示します。例えば、検証コードの検証を行う時に現在の時間と検証コードの生成時間を比較します。10分以上の期限が切れるかどうかなどをチェックします。これらの時間の業務ロジックについては、pythonの中の時間に関する二つのモジュール、timeとdatetimeを上手に把握しなければなりません。この二つのモジュールを使ってこそ、コードの中で簡単に対応できます。
2、タイムモジュール
タイムモジュールでの時間表現のフォーマットは主に3つあります。
  • a、timestampタイムスタンプは、1970年1月1日00:00から秒単位でのオフセット量
  • を示しています。
  • b、structu時間母組は全部で9つの元素グループがあります。
  • c、フォーマットされた構造は時間をより読み取り可能にする。カスタム書式と固定書式があります。
  • 1、時間フォーマット変換図

    2、よく使う方法
    
    import time
    
    print(time.time()) #      
    >>> 1569645479.6079931
    
    print(int(time.time()))
    >>> 1569645479
    
    print(time.strftime('%Y-%m-%d %H:%M:%S')) #       
    >>> 2019-09-28 12:37:59
    
    print(time.strftime('%Y-%m-%d'))
    >>> 2019-09-28
    
    print(time.strftime('%H:%M:%S'))
    >>> 12:37:59
    
    print(time.gmtime()) #            ,        ,             
    >>> time.struct_time(tm_year=2019, tm_mon=9, tm_mday=28, tm_hour=4, tm_min=37, tm_sec=59, tm_wday=5, tm_yday=271, tm_isdst=0)
    
    print(time.gmtime(1569645453))
    >>> time.struct_time(tm_year=2019, tm_mon=9, tm_mday=28, tm_hour=4, tm_min=37, tm_sec=33, tm_wday=5, tm_yday=271, tm_isdst=0)
    
    #              
    s_time = time.time()
    for i in range(0,10):
     time.sleep(1)
    e_time = time.time()
    print('       :', e_time-s_time)
    >>>        : 10.003105163574219
    
    #              
    str_time = '2019-9-28'
    print(time.mktime(time.strptime(str_time, '%Y-%m-%d')))
    >>> 1569600000.0
    
    #                
    gsh_time = time.time()
    print(time.strftime('%Y-%m-%d', time.localtime(gsh_time)))
    >>> 2019-09-28
    3、datetimeモジュール
    datatimeモジュールは再びタイムモジュールをカプセル化し、より多くのインターフェースを提供し、提供されるクラスは、date、time、datetime、timedelta、tzinfoです。
    
    import datetime
    
    now = datetime.datetime.now()
    print(now)
    >>> 2019-09-28 12:45:59.927901
    
    now = datetime.datetime.now()
    d1 = now - datetime.timedelta(hours=1) #       
    d2 = now - datetime.timedelta(days=1) #      
    print(now)
    >>> 2019-09-28 12:47:56.662933
    print(d1)
    >>> 2019-09-28 11:47:56.662933
    print(d2)
    >>> 2019-09-27 12:47:56.662933
    
    # datetime        
    dt = datetime.datetime.now()
    print(time.mktime(dt.timetuple()))
    >>> 1569646475.0
    
    #       datetime  
    sjc_time = time.time()
    print(datetime.datetime.fromtimestamp(sjc_time))
    >>> 2019-09-28 12:55:05.500752
    以上がpython中time、datetimeモジュールの使用の詳細です。python time、datetimeモジュールに関する資料は他の関連記事に注目してください。