2011-01-30 5 views
52

나는 내 자신의 캘린더를 만들려고 노력하고있다. 나는 이벤트 캘린더에 도움을 얻는 것처럼 보이므로 무엇을하려고하는지 표시한다. 요일을 표시한다. ie January 1 2011 is a week. 토요일 쉬운 명령이 그 날 얻거나 내가 뭔가를 필요로하는 것입니다레일즈 3 주중의 요일 찾기

답변

107

당신이 time.wday, 0 = 일요일를 사용할 수 없습니다 그래서

+2

더 이상 작동합니다 Date :: DAYNAMES [month] 도움을 주셔서 감사합니다 –

+2

@Rod는 Date : DAYNAMES [wday];)를 의미합니다 thx! – jobwat

+0

완벽한 !!! 감사합니다) –

4

처음부터 자신의 캘린더를 쓰기를 시도하는 경우에와 요일 조회를 수행하는 함수를 작성하려면 Conway's Doomsday Algorithm을 확인하십시오. 이는 주어진 날짜에 요일을 결정하는 흥미로운 방법입니다. 그렇지 않으면 standard time class에는 0-6 (0은 일요일, 1은 월요일 등)에서 숫자를 리턴하는 wday 메소드가 있습니다.

+1

Date.today.beginning_of_month.wday는 내가 찾고있는 것과 똑같은 방식으로 작동하지만, 내 인생을 더 쉽게 만들 수 있는지 확인하기 위해 링크를 살펴볼 것입니다. –

3

영역을 고려하지 않고 Time.now.utc.wday를 사용하여 요일을 구할 수 있습니다.

139

또한 사용 "수요일"와 같은 문자열을 얻을 수 있습니다 time.strftime ("%의 A")

+14

이것은 허용 된 대답이어야합니다! –

+0

우수 답변! 고맙습니다 – Vlad

0

이러한 옵션은 모두 당신에게 지정된 날짜의 오늘 문자열 (예 : "토요일".) 줄 것이다 :

구체적인 날짜 :

Date.new(2011, 1, 1).strftime('%A') # returns "Saturday" 

오늘 :

Date.today.strftime('%A')