31

私の Rails アプリケーションには、株式の日付価格を持つ DailyQuote モデルがあります。データベース内のデータは、週末を含め、このモデル用にキャプチャされています。週末価格の値は 0 に設定されています。

土曜日と日曜日のすべての週末の価格を、金曜日の価格に変更したいと考えています。Rubyでこれを行う最良の方法は何ですか? 日付が土曜か日曜かを特定し、その値をその週末の金に変更するには?

4

7 に答える 7

55

TFMは、曜日を識別するための興味深い方法を示しています。

t = Time.now
t.saturday?    #=> returns a boolean value
t.sunday?      #=> returns a boolean value
于 2012-08-11T12:07:18.440 に答える
21
require 'date'
today = Date.today
ask_price_for = (today.wday == 6) ? today - 1 : (today.wday == 0) ? today - 2 : today

また

require 'date'
today = Date.today
ask_price_for = (today.saturday?) ? today - 1 : (today.sunday?) ? today - 2 : today  

ask_price_for価格を尋ねたい日付が表示されます。

日付に対応する実際の価格の取得は、モデルと ORM-Library (つまり ActiveRecord) によって異なります。

于 2012-08-11T12:00:22.663 に答える
15
class Time
  def is_weekend?
    [0, 6, 7].include?(wday)
  end
end

time = Time.new

puts "Current Time : " + time.inspect
puts time.is_weekend?
于 2012-08-11T11:48:43.753 に答える
5

レールv5以降:

Date.current.on_weekend?

参考文献:

于 2020-12-03T12:02:49.360 に答える
4

Date.today.instance_eval { 土曜日? || 日曜日?}

于 2015-08-24T07:27:12.707 に答える