python datetime.datetime、datetime.date、datetime.timedelt時間処理
datetime日付と時刻を処理するための主なオブジェクト:
timedelt:日付の差または時刻の差(一般的に使用される)
datetime:時刻と日付(一般的に使用される)
日付:日付
時間:時間
1、datetime.datetime / datetime.date
(1)現在の日付と時刻を取得します:(返される結果:datetime.datetime(2020、9、23、16、6、28、491179))
import datetime as dt
dt.datetime.now()
dt.datetime.today()
(2)現在の日付を取得する:(結果を返す:datetime.date(2020、9、23))
dt.date.today()
dt.datetime.now().date()
dt.datetime.today().date()
(3)日付の年を取得します:(戻り結果:2020)
dt.datetime(2020,9,23).year
dt.date(2020,9,23).year
(4)日付の月を取得します:(戻り結果:9)
dt.datetime(2020,9,23).month
dt.date(2020,9,23).month
(5)日付の日付数を取得する:(返される結果:23)
dt.datetime(2020,9,23).day
dt.date(2020,9,23).day
(6)取得日は何曜日ですか?
dt.datetime(2020,9,23).isoweekday() # (返回结果:3)1-7 对应 周一 - 周日
dt.date(2020,9,23).weekday() # (返回结果:2)0-6 对应 周一 - 到周日
(7)タイムゾーン:
-
現在とutcnowの違い:
現在:現地時間
utcnow:世界時間(タイムゾーンが異なるため、2つの時間は異なります) -
「アジア/上海」の現在の時刻は「2020-09-23 16:20:25」で、「アジア/コルカタ」の時刻に変換されます。
import pytz dt_in = dt.datetime(2020, 9, 23, 16, 20, 25, tzinfo = pytz.timezone('Asia/Shanghai')) dt_in.astimezone(pytz.timezone('Asia/Kolkata')) # 返回结果:datetime.datetime(2020, 9, 23, 13, 44, 25, tzinfo=<DstTzInfo 'Asia/Kolkata' IST+5:30:00 STD>)
注:タイムゾーンに対応するコードを表示します:pytz.all_timezones
2、datetime.timedelt
timedeltは時差によく使用され、そのパラメーターには、
週、日(デフォルト)、時間、分、秒、マイクロ秒
(詳細については、Python日付と日、週、時間timedeltaを参照)