[macOS Catalina 10.15.7]
Bashのコマンドで日付を出力させてみました。
今日の日付は特に問題ないですが、3日後の書き方でドハマりしました。
とりあえず出力できましたが、他にスマートな書き方がないのであればこの使い方ではBash&macOSは却下です。
Zshにすれば普通になるのでしょうか。
import subprocess
from subprocess import PIPE
import datetime
# 今日の日付 Bash
com_date = subprocess.run("date +%y%m%d", shell=True, stdout=PIPE, stderr=PIPE, text=True)
date = com_date.stdout
print(date)
# 今日の日付 Python
date_today = datetime.date.today()
date_today_str = date_today.strftime('%y%m%d')
print(date_today_str)
# 3日後の日付 Bash 時差+9-72=-63 このスクリプトは可読性低い
com_date_3 = subprocess.run("env TZ=JST-63 date +%y%m%d", shell=True, stdout=PIPE, stderr=PIPE, text=True)
date_3 = com_date_3.stdout
print(f'date_3 {date_3}')
# 3日後の日付 Python
days3 = datetime.timedelta(days = 3)
date_days3 = date_today + days3
date_days3_str = date_days3.strftime('%y%m%d')
print(f'date_days3_str {date_days3_str}')
--------------------------------------------------
出力
--------------------------------------------------
210527
210527
date_3 210530
date_days3_str 210530