日付を扱う基本的な方法

from datetime import datetime datetimeモジュール中のdatetimeクラスのみを利用する
now = datetime.now()     datetimeモジュールの中の関数 その地域の時刻を表す。
print(now)

こうすることで、今の時間を表示できる。

二つ表示方法があって、

import datetime
print(datetime.datetime.now())

from datetime import datetime →datetimeをインポートして、datetimeだけ使うよという事
print(datetime.now())

年、月、日のみ表示する場合

from datetime import datetime
now = datetime.now()
print(now.year, ‘年’)
print(now.month, ‘月’)
print(now.day, ‘日’)
print(now.hour,”時間”)
print(now.minute,”時間)
print(now.second,”秒”)

ここでは、14時以降とする場合には、if now.hour >=14 とする。

日時を指定する場合

from datetime import datetime

one_day =datetime(2018,1,31)
print(one_day)

日付を文字列に変換

from datetime import datetime

one_day = datetime(2018, 8, 11)

str_one_day = f'{one_day = :%Y/%m/%d}’ 表示になくても、:が必要
         式=:書式 というように指定しないとだめ
→こうすると str_one_day=,,,という表示になる

ここでone_day=:書式 すると、str_one_day=’one_day=2018/8/11’になる。
   one_day:書式   だと、str_one_day=2018/8/11となる。
   =はいらない。

print(str_one_day)

%Y: 西暦(4桁)の10進表記を表します。
%m: 0埋めした10進数で表記した月。
%d: 0埋めした10進数で表記した月中の日にち。
%H: 0埋めした10進数で表記した時 (24時間表記)。
%M: 0埋めした10進数で表記した分。
%S: 0埋めした10進数で表記した秒。

その他の表示
print(f'{one_day = :%Y/%m/%d}’) # -> one_day = 2016/08/11
print(f'{one_day = :%Y-%m-%d}’) # -> one_day = 2016-08-11
print(f'{one_day = :%Y年%m月%d日}’) # -> one_day = 2016年08月11日

文字列で打ち込まれたものを日時に変換する方法

from datetime import datetime

str_date = ‘201711月30日’ → この時点だと文字列
one_date = datetime.strptime(str_date, %Y%m月%d日) 文字列の””と合わせる ’’が必要
      datetime.strptime(時刻を表す文字列, フォーマット) このような構造になっている

      →このstrptime(,)をすると文字列→日時 引き算などが出来る
print(one_date)

日時の引き算

from datetime import datetime
from datetime import timedelta
olympic_day = datetime(2020, 7, 24)
before_2days = olympic_day – timedelta(days=2) sが必要

      timedelta(day=?)とすると日付通しの引き算が出来る。
# 表示 print(before_2days.date())

日時の差分

from datetime import datetime
from datetime import timedelta timedeltaをインポートして使用するよ

one_day = datetime(2017, 12, 31)
after_30days = one_day + timedelta(days=30) 差分 必ずSを付ける

print(after_30days.date())
print(after_30days -one_day) 30dayと表示される
print(after_30days >one_day) Trueになる

文字列から日付時刻の作成

from datetime import datetime
from datetime import timedelta

meeting_day = 2016-08-01

the_day = datetime.strptime(meeting_day,%Y-%m-%d) meeting_dayと合わせるために必要

after_100days = the_day+ timedelta(days=100)

print(after_100days.date())

# 文字列に変換
print_date = f'{before_5days:%Y-%m-%d}’ =はいらない

今日の設定

from datetime import date

today = date.today()
年だけ today.year
月だけ today.month
日だけ today.day →なんでも行ける

コメント

タイトルとURLをコピーしました