Python 日時、時刻Delta、Strftime(フォーマット)と例

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

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

  • date – 日付(月、日、年)のみを操作します
  • time – 曜日に依存しない時間 (時、分、秒、マイクロ秒)
  • datetime – 時刻と日付の組み合わせ (月、日、年、時、秒、マイクロ秒)
  • 時間delta— 日付の操作に使用される期間
  • tzinfo — タイムゾーンを処理するための抽象クラス

Date および DateTime クラスの使用方法

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

Date および DateTime クラスを使用する

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

以下を検討してくださいwing Python 日時形式コードを実行する前のポイント

from datetime import date

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

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

Date および DateTime クラスを使用する

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

Date および DateTime クラスを使用する

出力は期待どおりです。

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

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

例を見てみましょう

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

今日の曜日番号

date.today() 関数を使用すると、曜日番号も得られます。 これは月曜日が 0、日曜日が 6 で始まる平日テーブルです。

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

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

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

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

ステップ1) Date オブジェクトと同様に、次も使用できます。 「日時オブジェクト」 Pythonで。 Python の日付と時刻オブジェクトは、日付と時刻を与えます。 時間、分、秒、ミリ秒。

Python の現在の日付と時刻

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

ステップ2) 「DATETIME OBJECT」を使用すると、時刻クラスを呼び出すこともできます。

日付を含めずに現在時刻だけを印刷したいとします。

t = datetime.time(datetime.now())
  • 時間クラスをインポートしました。 datetime.now() を使用して、現在の時刻の値を割り当てます。
  • 現在の時刻の値を変数 t に代入しています。

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

Python の現在の日付と時刻

さて、ここで日付と時刻を取得したことがわかります。 そして次の行、私にはそれだけで時間があります

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

  • 平日演算子 (wd) には、現在の曜日に応じて (0 ~ 6) の番号が割り当てられます。 ここでは、日 (月、火、水…日) のリストの配列を宣言しました。
  • そのインデックス値を使用して、その日が何日であるかを確認します。 この場合、これは #2 で水曜日を表すため、出力では「どちらが水曜日ですか」と出力されます。

Python の現在の日付と時刻

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のオブジェクト。 さらに一歩進んで、書式設定関数を使用して時刻と日付を書式設定する方法を学習します。

ステップ1) まず、年をフォーマットする簡単な手順を見てみましょう。 例を挙げて理解するのが良いでしょう。

Strftime() を使用して日付と時刻の出力をフォーマットする

  • 私たちが使用したのは「strftime関数」 フォーマット用。
  • この関数は異なるものを使用します 制御コード 出力を与えるために。
  • 各制御コードは、年、月、曜日、日付などのさまざまなパラメータに似ています。 [(%y/%Y – 年)、(%a/%A- 平日)、(%b/%B- 月)、(%d – 日)] 。
  • 私たちの場合、それは (「%Y」) これは年に似ていますが、世紀を含む完全な年を出力します (例: 2018)。

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

Strftime() を使用して日付と時刻の出力をフォーマットする

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

Strftime() を使用して日付と時刻の出力をフォーマットする

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

Strftime() を使用して日付と時刻の出力をフォーマットする

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

  1. %C- は現地の日付と時刻を示します
  2. %x- は現地の日付を示します
  3. %X- は現地時間を示します

Strftime() を使用して日付と時刻の出力をフォーマットする

出力では、期待どおりの結果が表示されます。

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

Strftime() を使用して日付と時刻の出力をフォーマットする

時間には %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()

何時ですかdelta Pythonで?

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

時間の使い方delta オブジェクト

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

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

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

時間delta オブジェクト

  1. 時間の import ステートメントを作成するdelta
  2. 次に、時間からオブジェクトを出力するコードを書きます delta スクリーンショットに示すように
  3. コードを実行します。 時間delta 365 日と 8 時間 15 分の期間を表し、同じように出力されます

紛らわしいですか? 次のステップが役立ちます-

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

時間delta オブジェクト

ステップ3) 今から XNUMX 年後の日付を取得する方法を見てみましょう。 delta オブジェクト。 コードを実行すると、期待どおりの出力が得られます。

時間delta オブジェクト

ステップ4) 時間の別の例 delta 現在の日付と時刻から将来の日付を計算するために使用できます

時間delta オブジェクト

ステップ5) com をもっと調べてみましょうplex 例。 新年が何日過ぎたかを確認したいと思います。 今後の進め方は次のとおりです

  • today= date.today() を使用すると、今日の日付が取得されます
  • 新年は常に 1 月 1,1 日であることはわかっていますが、年は異なる場合があります。 nyd= date(today.year,XNUMX) を使用して、変数 nyd に新年を格納します。
  • NYD < 今日の場合: 報酬ares 現在の日付が新年より大きいかどうか。 「はい」の場合、while ループに入ります。
  • ((today-nyd).days) は、現在の日付と新年の差を DAYS で返します。

時間delta オブジェクト

出力には、「元旦はすでに 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)

まとめ

シンプルとコムの両方で日付と時刻を操作する場合plex datetime モジュールが次のようなさまざまなクラスやカテゴリを提供する方法

  • date – 日付(月、日、年)のみを操作します
  • time – 曜日に依存しない時間 (時、分、秒、マイクロ秒)
  • datetime – 時刻と日付の組み合わせ (月、日、年、時、秒、マイクロ秒)
  • 時間delta— 日付の操作に使用される期間
  • tzinfo — タイムゾーンを処理するための抽象クラス

日時オブジェクトの使用

  • コードを実行する前に日時オブジェクトをインポートすることは必須です
  • date.today 関数を使用して、個々の日付/月/年を印刷し、日のインデックスを作成します
  • date.time オブジェクトを使用して、時、分、秒、ミリ秒の時間を取得する

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

  • 「str f time 関数」を使って年の形式を変更する
  • 日、日、月、年を個別に印刷します。
  • 通話時間はいずれの形式でも 12 時間または 24 時間です

時間delta オブジェクト

  • 時間とともにdelta オブジェクトを使用すると、未来と過去の両方の時間を推定できます
  • 現在時刻から特別な日(誕生日)までの残り日数を計算します
  • 現在時刻から特別な日(誕生日)の経過日数を計算します。