今日の日付を"YYYYMMDD"の文字列で返す関数を作成
開発環境
macOS High Sierra
(バージョン10.13.5)
Python3.6.4
Sublime Text
前提条件
ファイルに日付で名前をつけたり、ログファイルに日付ごとに項目を入れる際のために作ってみた。
コード
myFunc.py
import os
from datetime import datetime
from pytz import timezone
#現在の年月日を取得
def presentDay():
today = datetime.now(timezone('Asia/Tokyo'));
year = today.year;
year = str(year);
month = today.month;
if not month > 9:
month = str(month);
month = "0" + month;
else:
month = str(month);
day = today.day;
if not day > 9:
day = str(day);
day = "0" + day;
else:
day = str(day);
return year + month + day;#文字列で、YYYYMMDDを返す
- まずは、必要なライブラリをインポート。
- today = datetime.now(timezone('Asia/Tokyo'));
東京の現在の年月日、時分秒、曜日までが2018-06-09 21:05:02.219407+09:00
というdatetimeオブジェクトの形でtodayの中に格納されています。
また、weekday = today.weekday();
で、weekdayに曜日が数字の形で格納されます(0〜6:月〜日曜日)。 - year = str(year);
年をそれぞれdatetimeオブジェクトから、str型にします。 - 下のif文
月、日については、1桁の場合、0をつけて2桁にしてから、文字列になおします。 - return year + month + day;
文字列連結をして、それをreturnで返します。
と思ったら、strftimeでもっと簡単に書けた。
myFunc.py
from datetime import datetime
from pytz import timezone
#現在の年月日を取得
def presentDay():
today = datetime.now(timezone('Asia/Tokyo'));
presentday = today.strftime("%Y%m%d");
weekday = today.strftime("%a");
return presentday, weekday;
コメントくださった方々、誠にありがとうございました。