Skip to content

Instantly share code, notes, and snippets.

@gecko655
Created December 1, 2018 12:05
Show Gist options
  • Save gecko655/9a975003eeb84d52dd7163af4c9572c2 to your computer and use it in GitHub Desktop.
Save gecko655/9a975003eeb84d52dd7163af4c9572c2 to your computer and use it in GitHub Desktop.
特定日から特定日までの土日祝日を、指定した時刻と共に表示するスクリプト
require 'date'
require 'holiday_japan'
start_date='2018-12-22'
end_date='2019-05-01'
time=['09:00〜12:00', '13:00〜17:00', '18:00〜22:00']
(Date.parse(start_date)..Date.parse(end_date))\
.select{|d| d.sunday? || d.saturday? || HolidayJapan.check(d)}\
.map{ |d| "#{d.year}/#{d.month}/#{d.day}"}\
.product(time)\
.map{|d_t| "#{d_t[0]} #{d_t[1]}"}\
.each{|i| puts i}
# DEMO: https://paiza.io/projects/iV81dSCnBNEnQlB9TjPVCQ
# 出力例↓
# 2018/12/22 09:00〜12:00
# 2018/12/22 13:00〜17:00
# 2018/12/22 18:00〜22:00
# 2018/12/23 09:00〜12:00
# 2018/12/23 13:00〜17:00
# 2018/12/23 18:00〜22:00
# 2018/12/24 09:00〜12:00
# 2018/12/24 13:00〜17:00
# 2018/12/24 18:00〜22:00
# 2018/12/29 09:00〜12:00
# 2018/12/29 13:00〜17:00
# 2018/12/29 18:00〜22:00
# 2018/12/30 09:00〜12:00
# 2018/12/30 13:00〜17:00
# 2018/12/30 18:00〜22:00
# 2019/1/1 09:00〜12:00
# 2019/1/1 13:00〜17:00
# 2019/1/1 18:00〜22:00
# 略
# 2019/4/28 09:00〜12:00
# 2019/4/28 13:00〜17:00
# 2019/4/28 18:00〜22:00
# 2019/4/29 09:00〜12:00
# 2019/4/29 13:00〜17:00
# 2019/4/29 18:00〜22:00
@gecko655
Copy link
Author

gecko655 commented Dec 1, 2018

出力したやつを https://chouseisan.com/ に貼ると幸せになれるかもしれない。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment