工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python DateTime、TimeDelta、Strftime(Format) と例

Python では、日付、時刻、および日時 クラスは、日付、時刻、および時間間隔を処理するための多くの関数を提供します。 Python の Date と datetime はオブジェクトであるため、それらを操作すると、文字列やタイムスタンプではなく、実際にオブジェクトを操作します。日付や時刻を操作するときはいつでも、datetime 関数をインポートする必要があります。

Python の日時クラスは、主に 5 つのクラスに分類されます。

このチュートリアルでは、次のことを学びます-

Date &DateTime クラスの使い方

ステップ 1 ) Python で日時形式のコードを実行する前に、以下のスクリーンショットに示すように、Python 日時モジュールをインポートすることが重要です。

これらのインポート ステートメントは、コードを記述せずに日付と時刻を操作できる Python ライブラリの事前定義済みの機能です。

Python 日時形式コードを実行する前に、次の点を考慮してください

from datetime import date

この行は、Python インタープリターに、Python の datetime モジュールから日付クラスをインポートするように指示します。残念ながら、この日付機能のコードを書いているわけではなく、使用するためにインポートしているだけです

ステップ 2 ) 次に、日付オブジェクトのインスタンスを作成します。

ステップ 3 ) 次に、日付を出力してコードを実行します。

出力は期待どおりです。

date.today() を使用して日付を出力

date.today 関数には、それに関連付けられたいくつかのプロパティがあります。個々の日/月/年、その他多くのものを印刷できます

例を見てみましょう

今日の平日番号

date.today() 関数は、曜日番号も提供します。これは月曜日が 0、日曜日が 6 で始まる平日の表です

曜日番号
月曜日
0
火曜日
1
水曜日
2
木曜日
3
金曜日
4
土曜日
5
日曜日
6


曜日番号は、インデックスが曜日に依存する配列に役立ちます。

Python の現在の日付と時刻:now() today()

ステップ 1) 日付オブジェクトと同様に、“DATETIME OBJECTS” も使用できます パイソンで。 Python の日付と時刻のオブジェクトは、時間、分、秒、ミリ秒で時刻とともに日付を提供します。

datetime のコードを実行すると、現在の日付と時刻が出力されます。

ステップ 2) 「DATETIME OBJECT」では時刻クラスも呼び出すことができます。

日付なしで現在の時刻だけを印刷したいとします。

t = datetime.time(datetime.now())

そして、これは私にちょうど時間を与えます.それでは、このプログラムを実行しましょう。

さて、ここで日付と時刻を取得したことがわかります。そして次の行、I've got just the time alone

ステップ 3) 平日のインデクサーを平日の arrayList に適用して、今日が何曜日かを確認します


datetime now を使用して現在の日付と時刻を取得する完全なコードは次のとおりです

from datetime import date
from datetime import time
from datetime import datetime
def main():
    ##DATETIME OBJECTS
    #Get today's date from datetime class
    today=datetime.now()
    #print (today)
    # Get the current time
    #t = datetime.time(datetime.now())
    #print "The current time is", t
    #weekday returns 0 (monday) through 6 (sunday)
    wd=date.weekday(today)
    #Days start at 0 for monday
    days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
    print("Today is day number %d" % wd)
    print("which is a " + days[wd])

if __name__== "__main__":
    main()

Strftime() で日付と時刻の出力をフォーマットする方法

ここまでで、Python で datetime と date オブジェクトを使用する方法を学びました。さらに一歩進んで、書式設定関数を使用して時刻と日付を書式設定する方法を学習します。

ステップ 1) 最初に、年をフォーマットする簡単な手順を見ていきます。例を挙げて理解することをお勧めします。

ステップ 2) (“%Y”) を小文字 (つまり ( “%y)) に置き換えてコードを実行すると、出力は (2018) ではなく (18) のみを表示します。下のスクリーンショットに示すように、世紀は表示されません

ステップ 3) strf 関数は、日付、日、月、および年を個別に宣言できます。また、strftime 関数の制御コードを少し変更することで、テキストのスタイルをフォーマットできます。

strftime 関数内で、(%a) を大文字の A に置き換えると、つまり (%A) のように、出力は省略形の「Fri」ではなく「Firday」として出力されます。

ステップ 4) 「Strftime」関数を使用して、ローカル システムの時刻、日付、またはその両方を取得することもできます。

<オール>
  • %C- 現地の日付と時刻を示します
  • %x- 現地の日付を示します
  • %X- 現地時間を示します
  • 出力では、期待どおりの結果を見ることができます

    ステップ 5) 「strftime 関数」を使用すると、24 時間または 12 時間の任意の形式で時刻を呼び出すことができます。

    時間は %I/H、分は %M、秒は %S のような制御コードを定義するだけで、さまざまな形式の時間を呼び出すことができます

    12時間 時間が宣言されている [print now.strftime(“%I:%M:%S %p) ]

    24 時間 時間が宣言されている [print now.strftime(“%H:%M”)]

    datetime を String オブジェクトに変換する完全なコードは次のとおりです。

    #
    #Example file for formatting time and date output
    #
    from datetime import datetime
    def main():
       #Times and dates can be formatted using a set of predefined string
       #Control codes
          now= datetime.now() #get the current date and time
          #%c - local date and time, %x-local's date, %X- local's time
          print(now.strftime("%c"))
          print(now.strftime("%x"))
          print(now.strftime("%X"))
    ##### Time Formatting ####
          #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
          print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM
          print(now.strftime("%H:%M")) # 24-Hour:Minute
    
    if __name__== "__main__":
        main()

    Python の Timedelta とは?

    Python の Timedelta 期間を表すオブジェクトです。主に、2 つの日付と時刻の間の期間を計算するために使用されます。また、デルタの日付と時刻を持つオブジェクトを取得するためにも使用されます。 timedelta オブジェクトは、加算、減算、乗算、除算などの数学演算をサポートしています。

    Timedelta オブジェクトの使用方法

    Python の timedelta オブジェクトを使用すると、未来と過去の両方の時間を見積もることができます。 言い換えれば、特別な日、日付、または時間を予測するためのタイムスパンです。

    この関数は時刻や日付を出力するためのものではなく、未来や過去について計算するためのものであることを忘れないでください .理解を深めるために、Python の timedelta の例を見てみましょう。

    ステップ 1) Timedelta オブジェクトを実行するには、最初に import ステートメントを宣言してからコードを実行する必要があります

    <オール>
  • timedelta のインポート ステートメントを書く
  • スクリーン ショットに示すように、タイム デルタからオブジェクトを出力するコードを記述します
  • コードを実行します。 timedelta は 365 日 8 時間 15 分のスパンを表し、同じものを出力します
  • 混乱しますか?次のステップが役に立ちます-

    ステップ 2) 今日の日付と時刻を取得して、インポート ステートメントが正常に機能しているかどうかを確認しましょう。コードが実行されると、今日の日付が出力されます。これは、インポート ステートメントがうまく機能していることを意味します

    ステップ 3) デルタ オブジェクトを使用して、今から 1 年後の日付を取得する方法を見ていきます。コードを実行すると、期待どおりの出力が得られます。

    ステップ 4) 現在の日付と時刻から将来の日付を計算するために時間デルタを使用する方法の別の例

    ステップ 5) より複雑な例を見てみましょう。正月を何日過ぎたか知りたいです。進め方は次のとおりです

    出力は、「正月はすでに 11 日前に過ぎています」と示しています。

    完全な作業コードはこちら

    #
    # Example file for working with timedelta objects
    #
    from datetime import date
    from datetime import time
    from datetime import datetime
    from datetime import timedelta
    
    # construct a basic timedelta and print it
    print (timedelta(days=365, hours=8, minutes=15))
    # print today's date
    print ("today is: " + str(datetime.now()))
    # print today's date one year from now
    print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365)))
    # create a timedelta that uses more than one argument
    # print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)))
    # How many days until New Year's Day?
    today = date.today()  # get todays date
    nyd = date(today.year, 1, 1)  # get New Year Day for the same year
    # use date comparison to see if New Year Day has already gone for this year
    # if it has, use the replace() function to get the date for next year
    if nyd < today:
        print ("New Year day is already went by %d days ago" % ((today - nyd).days))

    Python 2 の例

    from datetime import date
    from datetime import time
    from datetime import datetime
    def main():
     	##DATETIME OBJECTS
        #Get today's date from datetime class
    	today=datetime.now()
    	#print today
    	# Get the current time
    	#t = datetime.time(datetime.now())
    	#print "The current time is", t
    	#weekday returns 0 (monday) through 6 (sunday)
            wd = date.weekday(today)
    	#Days start at 0 for monday
            days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
            print "Today is day number %d" % wd
            print "which is a " + days[wd]
    
    if __name__== "__main__":
        main()
    #
    #Example file for formatting time and date output
    #
    from datetime import datetime
    def main():
       #Times and dates can be formatted using a set of predefined string
       #Control codes
          now= datetime.now() #get the current date and time
          #%c - local date and time, %x-local's date, %X- local's time
          print now.strftime("%c")
          print now.strftime("%x")
          print now.strftime("%X")
    ##### Time Formatting ####   
          #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
          print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM
          print now.strftime("%H:%M") # 24-Hour:Minute   
    
    if __name__== "__main__":
        main()
    #
    # Example file for working with timedelta objects
    #
    from datetime import date
    from datetime import time
    from datetime import datetime
    from datetime import timedelta
    
    # construct a basic timedelta and print it
    print timedelta(days=365, hours=8, minutes=15)
    # print today's date
    print "today is: " + str(datetime.now())
    # print today's date one year from now
    print "one year from now it will be:" + str(datetime.now() + timedelta(days=365))
    # create a timedelta that uses more than one argument
    # print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))
    # How many days until New Year's Day?
    today = date.today()  # get todays date
    nyd = date(today.year, 1, 1)  # get New Year Day for the same year
    # use date comparison to see if New Year Day has already gone for this year
    # if it has, use the replace() function to get the date for next year
    if nyd < today:
        print "New Year day is already went by %d days ago" % ((today - nyd).days)

    まとめ

    単純な方法と複雑な方法の両方で日付と時刻を操作するために、datetime モジュールは

    のようなさまざまなクラスまたはカテゴリを提供します

    日時オブジェクトの使用

    「str f time function」によるタイムアウトのフォーマット

    タイムデルタ オブジェクト


    Python

    1. Python 日時
    2. Pythonで現在の日付と時刻を取得するには?
    3. Python Get 現在時刻
    4. Python 時間モジュール
    5. Pythonスリープ()
    6. Python Print() ステートメント:例を使用して印刷する方法
    7. 例を使用した Python 文字列 count()
    8. Python String format() 例で説明
    9. Python String find() メソッドと例
    10. 例を含む Python Lambda 関数
    11. 例を使用した Python round() 関数