Nice programing

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

nicepro 2020. 12. 27. 20:46
반응형

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


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


나는 strftime 구문을 찾기 위해 Date 문서로 이동하는 것을 싫어했기 때문에 이것을 사용했으며 거기에서 찾지 않고 Time 문서에 있음을 기억해야했습니다.

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

Date 클래스 참조를 살펴보십시오 . 날짜 개체가 있으면 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

반응형