休日Python2型
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[今さらPython]]
実行すると、未来10日間、または10回先までの休日を表示する...
使ったライブラリは以下。
- sys コマンドライン引数
- datetime 日時処理
- jpholiday 日本の祝日
なお、jpholiday は pip インストールの必要があると思う。
#!/usr/bin/python3
import datetime
import jpholiday
import sys
class Hol():
def __init__(self):
self.today = datetime.datetime.now()
self.yos = ["月","火","水","木","金","土","日"]
self.kyou(self.today)
def kyou(self,today):
self.holiday_name = jpholiday.is_holiday_name(sel...
self.yobi = self.yos[self.today.weekday()]
self.kf = False
if(self.holiday_name != None) :
self.kd = self.holiday_name
self.kf = True
elif(self.yobi == "土" or self.yobi == "日"):
self.kd = self.yobi + "曜日"
self.kf = True
else:
self.kd = "平日(" + self.yobi + "曜日)"
def day(self,y,m,d):
self.today = datetime.datetime(y,m,d)
self.holiday_name = self.kyou(self.today)
#
k_only = False
d99 = 10
args = sys.argv
for i in range(len(args)):
if(args[i] == "-k"):
k_only = True
t_d = Hol()
h_name = t_d.holiday_name
d2 = 0
while d2 < d99:
h_name = t_d.kd
if(t_d.kf == True or k_only == False):
kky = "今日"
if(d2 > 0):
kky = str(t_d.today.year)+"年"+str(t_d.today....
kky = kky + "は、"
if(h_name != None):
print(kky+h_name+"です。")
elif(k_only == False):
print(kky+"平日です。")
# 休日フラグがオフ、またはガチの休日なら加算する。
if(k_only == False or t_d.kf == True):
d2 = d2 + 1
# 日データを一日進める。
t_d.today = t_d.today + datetime.timedelta(days=1)
t_d.kyou(t_d.today)
実行結果は以下の通り。
* 引数なし [#m7589901]
$ holiday.py
今日は、勤労感謝の日です。
2022年11月24日は、平日(木曜日)です。
2022年11月25日は、平日(金曜日)です。
2022年11月26日は、土曜日です。
2022年11月27日は、日曜日です。
2022年11月28日は、平日(月曜日)です。
2022年11月29日は、平日(火曜日)です。
2022年11月30日は、平日(水曜日)です。
2022年12月1日は、平日(木曜日)です。
2022年12月2日は、平日(金曜日)です。
* -k 指定 [#zaf03e65]
$ holiday.py -k
今日は、勤労感謝の日です。
2022年11月26日は、土曜日です。
2022年11月27日は、日曜日です。
2022年12月3日は、土曜日です。
2022年12月4日は、日曜日です。
2022年12月10日は、土曜日です。
2022年12月11日は、日曜日です。
2022年12月17日は、土曜日です。
2022年12月18日は、日曜日です。
2022年12月24日は、土曜日です。
終了行:
[[今さらPython]]
実行すると、未来10日間、または10回先までの休日を表示する...
使ったライブラリは以下。
- sys コマンドライン引数
- datetime 日時処理
- jpholiday 日本の祝日
なお、jpholiday は pip インストールの必要があると思う。
#!/usr/bin/python3
import datetime
import jpholiday
import sys
class Hol():
def __init__(self):
self.today = datetime.datetime.now()
self.yos = ["月","火","水","木","金","土","日"]
self.kyou(self.today)
def kyou(self,today):
self.holiday_name = jpholiday.is_holiday_name(sel...
self.yobi = self.yos[self.today.weekday()]
self.kf = False
if(self.holiday_name != None) :
self.kd = self.holiday_name
self.kf = True
elif(self.yobi == "土" or self.yobi == "日"):
self.kd = self.yobi + "曜日"
self.kf = True
else:
self.kd = "平日(" + self.yobi + "曜日)"
def day(self,y,m,d):
self.today = datetime.datetime(y,m,d)
self.holiday_name = self.kyou(self.today)
#
k_only = False
d99 = 10
args = sys.argv
for i in range(len(args)):
if(args[i] == "-k"):
k_only = True
t_d = Hol()
h_name = t_d.holiday_name
d2 = 0
while d2 < d99:
h_name = t_d.kd
if(t_d.kf == True or k_only == False):
kky = "今日"
if(d2 > 0):
kky = str(t_d.today.year)+"年"+str(t_d.today....
kky = kky + "は、"
if(h_name != None):
print(kky+h_name+"です。")
elif(k_only == False):
print(kky+"平日です。")
# 休日フラグがオフ、またはガチの休日なら加算する。
if(k_only == False or t_d.kf == True):
d2 = d2 + 1
# 日データを一日進める。
t_d.today = t_d.today + datetime.timedelta(days=1)
t_d.kyou(t_d.today)
実行結果は以下の通り。
* 引数なし [#m7589901]
$ holiday.py
今日は、勤労感謝の日です。
2022年11月24日は、平日(木曜日)です。
2022年11月25日は、平日(金曜日)です。
2022年11月26日は、土曜日です。
2022年11月27日は、日曜日です。
2022年11月28日は、平日(月曜日)です。
2022年11月29日は、平日(火曜日)です。
2022年11月30日は、平日(水曜日)です。
2022年12月1日は、平日(木曜日)です。
2022年12月2日は、平日(金曜日)です。
* -k 指定 [#zaf03e65]
$ holiday.py -k
今日は、勤労感謝の日です。
2022年11月26日は、土曜日です。
2022年11月27日は、日曜日です。
2022年12月3日は、土曜日です。
2022年12月4日は、日曜日です。
2022年12月10日は、土曜日です。
2022年12月11日は、日曜日です。
2022年12月17日は、土曜日です。
2022年12月18日は、日曜日です。
2022年12月24日は、土曜日です。
ページ名: