在Ruby 2.1.1,Date類具有friday?
方法
返回true如果日期是星期五
首先,需要date
庫
require 'date'
然後用當前日期創建一個新的日期實例。這裏有一個例子
current_time = Time.now
year = current_time.year
month = current_time.month
day = current_time.day
date = Date.new(year, month, day)
date.friday?
=> true
根據您的編碼首選項,您可能幹涸這件事更
date = Date.new(Time.now.year, Time.now.month, Time.now.day)
=> #<Date: 2016-03-11 ((2457459j,0s,0n),+0s,2299161j)>
date.friday?
如果你想解決這個問題沒有一個布爾方法(通常在結束的人一個問號,並返回true
或返回false
),例如當您比較數據庫列時,可以使用Date#wday
方法。請記住,這將返回範圍(0..6)中的數字,其中0表示星期日。這意味着你想通過5來檢查星期五。
if date.wday == 5
// Do something
end
此外,如果你與業務小時的工作,它可能是最容易使用的business_time
寶石
還可以包括holidays
寶石與business_time
。
首先,安裝寶石
gem install business_time
gem install holidays
然後要求創業板
require 'business_time'
require 'holidays'
瞭解如果今天是工作日
Date.today.workday?
,是一個節日
您現在可以使用這樣的事情,以確定是否今天是假期
Holidays.on(date, :us).empty?
,是辦公室之間的工作時間
的辦公時間定義從因人而異。沒有一個答案。然而,隨着創業板business_time
,您可以設置配置
BusinessTime::Config.beginning_of_workday = "8:30 am"
BusinessTime::Config.end_of_workday = "5:30 pm"
來源
紅寶石
http://ruby-doc.org/stdlib-2.1.1/libdoc/date/rdoc/Date.html#method-i-wday
http://ruby-doc.org/stdlib-2.1.1/libdoc/date/rdoc/Date.html#method-i-friday-3F
顆寶石
https://github.com/bokmann/business_time
https://github.com/holidays/holidays
謝謝,但我需要從頭開始寫,我也需要比較兩個datetime對象,所以布爾值在這裏真的不會幫助我! – fardin
你是從頭開始寫什麼的? –
'date = Date.today' – steenslag