概要
Rubyで、今月の残り日数(本日が11/4なら26)を求めるスクリプトの備忘録
前提
debian | 8.6 |
ruby | 2.2.2 |
コード
require 'date' today = Date.today last_day = Date.new(today.year, today.month, -1) puts (last_day - today).to_i
本日(11/04)から、今月(11月)残り何日残っているかが出力される
vagrant$ ruby hoge.rb 26
解説
本日と、今月の最終日を取得する。Dateクラスでは、日に該当する数値が-1の場合、最終日を勝手に計算してくれる。
today = Date.today last_day = Date.new(today.year, today.month, -1)
今月の最終日と本日の差を出力。
Dateオブジェクトの差は日数差を有理数で戻してくれるので、整数に変換して出力。
puts (last_day - today).to_i