[Ruby] 今月の残り日数を求める

概要

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です