ProgramingTip

루비에서 날짜의 요일을 어떻게 계산할 수 있습니까?

bestdevel 2020. 12. 26. 15:59
반응형

루비에서 날짜의 요일을 어떻게 계산할 수 있습니까?


Ruby에서 날짜의 요일을 어떻게 계산할 수 있습니까? 예를 들어 2010 년 10 월 28 일 = 목요일입니다.


나는 strftime 구문을 찾기 싫어 날짜 문서로 이동하는 것을 찾기 싫어하기 때문에 문서를 사용하는 것을 기억해야합니다.

require 'date'

class Date
  def dayname
     DAYNAMES[self.wday]
  end

  def abbr_dayname
    ABBR_DAYNAMES[self.wday]
  end
end

today = Date.today

puts today.dayname
puts today.abbr_dayname

날짜 클래스 참조를 찾았습니다 . 날짜 개체가 dateObj.strftime('%A')있으면 하루 종일 또는 dateObj.strftime('%a')약식 시간 동안 수행 할 수 있습니다 . dateObj.wday요일의 정수 값으로 사용할 수 있으며 사용할 수 있습니다.


time = Time.at(time)    # Convert number of seconds into Time object.
puts time.wday    # => 0: Day of week: 0 is Sunday

Date.today.strftime("%A")
=> "Wednesday"

Date.today.strftime("%A").downcase  
=> "wednesday"


빠르고, 더럽고, 현지화

days = {0 => "Sunday",
1 => "Monday", 
2 => "Tuesday",
3 => "Wednesday",
4 => "Thursday",
5 => "Friday",
6 => "Saturday"}

puts "It's #{days[Time.now.wday]}"

다음을 요구하지 않고 루비로 즉시 작동합니다.

Time.now.strftime("%A").downcase #=> "thursday"

@mway가 말했듯이 모든 Date에서 date.strftime ( "% A")을 사용하여 요일을 사용할 수 있습니다.

운이 좋다 Date.parse면 한 번에 String에서 요일로 선택할 수 있습니다.

def weekday(date_string)
  Date.parse(date_string).strftime("%A")
end

이 테스트 케이스에서 작동합니다.

weekday("October 28 of 2010") #=> "Thursday"

내가이 말 date = Time.now.to_date다음 date.strftime("%A")요일에 대한 이름을 인쇄하고 주 기록의 날에 딱 번호를 가지고 date.wday.


시간 개체에서 .wday 속성을 사용하여 요일에 해당하는 숫자를 가져옵니다. 예를 들어 .wday가 0을 반환하면 날짜는 일요일, 1 월요일 등입니다.

참조 URL : https://stackoverflow.com/questions/4044574/how-can-i-calculate-the-day-of-the-week-of-a-date-in-ruby

반응형