LoginSignup
6
5

More than 5 years have passed since last update.

【Ruby】中間の日付,時間を取得する

Last updated at Posted at 2015-04-06

中間の日付(Time, Date, DateTime)の取得

日付A〜日付Bのちょうど真ん中の日付が必要な時に.

コード例

started_on = Date.new(2015, 4, 1)
ended_on = Date.new(2015, 7, 31)

[*started_on..ended_on].tap { |r| break r[r.size / 2] }
# => Mon, 01 Jun 2015

例ではDateを用いているが,DateTimeTimeでもつかえる…はず.

いつ使うんだこんなの.

解説

  • [*started_on..ended_on]: 2つの日付をRange化し,配列に変換
  • range.tap { |r| break r[r.size / 2] } tapbreakで値が返ることを利用し,rangeの中間を得る
6
5
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5