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

Python 日時

Python 日時

この記事では、例を使用して Python で日付と時刻を操作する方法を学習します。

ビデオ:Python の datetime - 日付と時刻の操作

Python には datetime という名前のモジュールがあります 日付と時刻を操作します。深く掘り下げる前に、日付と時刻に関連するいくつかの簡単なプログラムを作成しましょう。


例 1:現在の日付と時刻を取得する

import datetime

datetime_object = datetime.datetime.now()
print(datetime_object)

プログラムを実行すると、出力は次のようになります:

2018-12-19 09:26:03.478039

ここでは、datetime をインポートしました import datetime を使用したモジュール

datetime で定義されているクラスの 1 つ モジュールは datetime です クラス。次に now() を使用しました datetime を作成するメソッド 現在のローカル日付と時刻を含むオブジェクト。


例 2:現在の日付を取得する


import datetime

date_object = datetime.date.today()
print(date_object)

プログラムを実行すると、出力は次のようになります:

2018-12-19

このプログラムでは、today() を使用しました。 date で定義されたメソッド date を取得するクラス 現在のローカル日付を含むオブジェクト。


datetime の内容

dir() 関数を使用して、モジュールのすべての属性を含むリストを取得できます。

import datetime

print(dir(datetime))

プログラムを実行すると、出力は次のようになります:


['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_divide_and_round', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']

datetime モジュールで一般的に使用されるクラスは次のとおりです。


datetime.date クラス

date をインスタンス化できます date のオブジェクト クラス。日付オブジェクトは日付 (年、月、日) を表します。


例 3:日付を表す Date オブジェクト


import datetime

d = datetime.date(2019, 4, 13)
print(d)

プログラムを実行すると、出力は次のようになります:

2019-04-13

迷っているなら date() 上記の例では、 date のコンストラクターです クラス。コンストラクターは、年、月、日の 3 つの引数を取ります。

変数 a date です オブジェクト。


date しかインポートできません datetime のクラス モジュール。方法は次のとおりです:


from datetime import date

a = date(2019, 4, 13)
print(a)

例 4:現在の日付を取得する

date を作成できます today() という名前のクラスメソッドを使用して、現在の日付を含むオブジェクト .方法は次のとおりです:


from datetime import date

today = date.today()

print("Current date =", today)

例 5:タイムスタンプから日付を取得する

date を作成することもできます タイムスタンプからのオブジェクト。 Unix タイムスタンプは、特定の日付から UTC の 1970 年 1 月 1 日までの秒数です。 fromtimestamp() を使用してタイムスタンプを日付に変換できます メソッド。


from datetime import date

timestamp = date.fromtimestamp(1326244364)
print("Date =", timestamp)

プログラムを実行すると、出力は次のようになります:

Date = 2012-01-11

例 6:今日の年、月、日を出力する

日付オブジェクトから年、月、日、曜日などを簡単に取得できます。方法は次のとおりです:


from datetime import date

# date object of today's date
today = date.today() 

print("Current year:", today.year)
print("Current month:", today.month)
print("Current day:", today.day)

datetime.time

time からインスタンス化された時間オブジェクト クラスは現地時間を表します。


例 7:時間を表す時間オブジェクト


from datetime import time

# time(hour = 0, minute = 0, second = 0)
a = time()
print("a =", a)

# time(hour, minute and second)
b = time(11, 34, 56)
print("b =", b)

# time(hour, minute and second)
c = time(hour = 11, minute = 34, second = 56)
print("c =", c)

# time(hour, minute, second, microsecond)
d = time(11, 34, 56, 234566)
print("d =", d)

プログラムを実行すると、出力は次のようになります:


a = 00:00:00
b = 11:34:56
c = 11:34:56
d = 11:34:56.234566

例 8:時、分、秒、マイクロ秒を出力する

time を作成したら hour などの属性を簡単に出力できます。 、 など


from datetime import time

a = time(11, 34, 56)

print("hour =", a.hour)
print("minute =", a.minute)
print("second =", a.second)
print("microsecond =", a.microsecond)

この例を実行すると、出力は次のようになります:


hour = 11
minute = 34
second = 56
microsecond = 0

マイクロ秒を経過していないことに注意してください 口論。したがって、そのデフォルト値 0


datetime.datetime

datetime モジュールには dateclass という名前のクラスがあります 両方の日付の情報を含むことができます そして時間 オブジェクト。


例 9:Python 日時オブジェクト


from datetime import datetime

#datetime(year, month, day)
a = datetime(2018, 11, 28)
print(a)

# datetime(year, month, day, hour, minute, second, microsecond)
b = datetime(2017, 11, 28, 23, 55, 59, 342380)
print(b)

プログラムを実行すると、出力は次のようになります:


2018-11-28 00:00:00
2017-11-28 23:55:59.342380

最初の 3 つの引数 , そして datetime() で コンストラクターは必須です。


例 10:年、月、時、分、およびタイムスタンプを出力する


from datetime import datetime

a = datetime(2017, 11, 28, 23, 55, 59, 342380)
print("year =", a.year)
print("month =", a.month)
print("hour =", a.hour)
print("minute =", a.minute)
print("timestamp =", a.timestamp())

プログラムを実行すると、出力は次のようになります:


year = 2017
month = 11
day = 28
hour = 23
minute = 55
timestamp = 1511913359.34238

datetime.timedelta

timedelta オブジェクトは、2 つの日付または時刻の差を表します。


例 11:2 つの日付と時刻の違い


from datetime import datetime, date

t1 = date(year = 2018, month = 7, day = 12)
t2 = date(year = 2017, month = 12, day = 23)
t3 = t1 - t2
print("t3 =", t3)

t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)

print("type of t3 =", type(t3)) 
print("type of t6 =", type(t6))  

プログラムを実行すると、出力は次のようになります:


t3 = 201 days, 0:00:00
t6 = -333 days, 1:14:20
type of t3 = <class 'datetime.timedelta'>
type of t6 = <class 'datetime.timedelta'>

両方の t3 に注意してください そしてt6 <class 'datetime.timedelta'> の タイプしてください。


例 12:2 つの timedelta オブジェクトの違い


from datetime import timedelta

t1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33)
t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54)
t3 = t1 - t2

print("t3 =", t3)

プログラムを実行すると、出力は次のようになります:


t3 = 14 days, 13:55:39

ここでは、2 つの timedelta を作成しました。 オブジェクト t1t2 、それらの違いが画面に出力されます。


例 13:負の timedelta オブジェクトの出力


from datetime import timedelta

t1 = timedelta(seconds = 33)
t2 = timedelta(seconds = 54)
t3 = t1 - t2

print("t3 =", t3)
print("t3 =", abs(t3))

プログラムを実行すると、出力は次のようになります:


t3 = -1 day, 23:59:39
t3 = 0:00:21

例 14:秒単位の期間

total_seconds() を使用して、timedelta オブジェクトの合計秒数を取得できます。 メソッド。


from datetime import timedelta

t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("total seconds =", t.total_seconds())

プログラムを実行すると、出力は次のようになります:


total seconds = 435633.233423

+ を使用して、2 つの日付と時刻の合計を求めることもできます。 オペレーター。また、timedelta の掛け算と割り算もできます。 整数と浮動小数点数によるオブジェクト。


Python 形式の日時

日付と時刻の表現方法は、場所や組織などによって異なる場合があります。mm/dd/yyyy を使用するのがより一般的です。 米国では dd/mm/yyyy 英国ではより一般的です。

Python には strftime() があります と strptime() これを処理するメソッド。


Python strftime() - 日時オブジェクトから文字列へ

strftime() メソッドはクラス date の下で定義されています 、 datetimetime .このメソッドは、指定された date からフォーマットされた文字列を作成します 、 datetime または time オブジェクト。


例 15:strftime() を使用して日付をフォーマットする


from datetime import datetime

# current date and time
now = datetime.now()

t = now.strftime("%H:%M:%S")
print("time:", t)

s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# mm/dd/YY H:M:S format
print("s1:", s1)

s2 = now.strftime("%d/%m/%Y, %H:%M:%S")
# dd/mm/YY H:M:S format
print("s2:", s2)

プログラムを実行すると、出力は次のようになります:


time: 04:34:52
s1: 12/26/2018, 04:34:52
s2: 26/12/2018, 04:34:52

ここでは、%Y%m%d%H などはフォーマットコードです。 strftime() メソッドは 1 つ以上のフォーマット コードを取り、それに基づいてフォーマットされた文字列を返します。

上記のプログラムでは、 t , s1s2

strftime() について詳しく知るには およびフォーマット コードについては、Python strftime().

を参照してください。

Python strptime() - 文字列から日時へ

strptime() メソッドは datetime を作成します 指定された文字列 (日付と時刻を表す) のオブジェクト。


例 16:strptime()


from datetime import datetime

date_string = "21 June, 2018"
print("date_string =", date_string)

date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)

プログラムを実行すると、出力は次のようになります:


date_string = 21 June, 2018
date_object = 2018-06-21 00:00:00

strptime() メソッドは 2 つの引数を取ります:

<オール>
  • 日付と時刻を表す文字列
  • 最初の引数に相当するフォーマット コード
  • ところで、%d%B および %Y 書式コードは day に使用されます , (氏名) と

    詳細については、Python strptime() を参照してください。


    Python でのタイムゾーンの処理

    プロジェクトに取り組んでいて、タイムゾーンに基づいて日付と時刻を表示する必要があるとします。タイムゾーンを自分で処理しようとするのではなく、サードパーティの pytZ モジュールを使用することをお勧めします。

    
    from datetime import datetime
    import pytz
    
    local = datetime.now()
    print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S"))
    
    
    tz_NY = pytz.timezone('America/New_York') 
    datetime_NY = datetime.now(tz_NY)
    print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S"))
    
    tz_London = pytz.timezone('Europe/London')
    datetime_London = datetime.now(tz_London)
    print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))
    

    プログラムを実行すると、出力は次のようになります:

    
    Local time: 2018-12-20 13:10:44.260462
    America/New_York time: 2018-12-20 13:10:44.260462
    Europe/London time: 2018-12-20 13:10:44.260462	
    

    ここでは、datetime_NYdatetime_London それぞれのタイムゾーンの現在の日付と時刻を含む datetime オブジェクトです。


    Python

    1. Python データ型
    2. Python 演算子
    3. Python pass ステートメント
    4. Python 関数の引数
    5. Python 辞書
    6. Python イテレータ
    7. Python クロージャー
    8. Pythonで現在の日付と時刻を取得するには?
    9. Python Get 現在時刻
    10. Pythonスリープ()
    11. Python-概要