Как рассчитать день недели в рубине? Например, 28 октября 2010 года = четвергКак рассчитать день недели в рубине?
ответ
Я использовал это, потому что я ненавидел перейти к документам Date для поиска синтаксиса strftime, не обнаружив его там и не запомнив его в документах 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 class reference. Когда у вас есть объект даты, вы можете просто сделать dateObj.strftime('%A')
на весь день, или dateObj.strftime('%a')
за сокращенный день. Вы также можете использовать dateObj.wday
для целочисленного значения дня недели и использовать его по своему усмотрению.
Как бы локализовать это, скажем, если вы используете Rails ? – Mohamad
В вашем объекте времени используйте свойство .wday, чтобы получить число, соответствующее дню недели, например. Если .wday возвращает 0, то ваша дата воскресенье, 1 понедельник, и т.д.
Ну, я никогда не закодированы в рубин, но быстрый Google дает
time = Time.at(time) # Convert number of seconds into Time object.
puts time.wday # => 0: Day of week: 0 is Sunday
Как @mway сказал, вы можете использовать date.strftime ("% A") на любом объекте Date, чтобы получить день недели.
Если вам повезет Date.parse
могли бы получить от строки до дня недели на одном дыхании:
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
.
Date.today.strftime("%A")
=> "Wednesday"
Date.today.strftime("%A").downcase
=> "wednesday"
Работы из коробки с рубином, не требуя:
Time.now.strftime("%A").downcase #=> "thursday"
Быстрый, грязный и локализация людей:
days = {0 => "Sunday",
1 => "Monday",
2 => "Tuesday",
3 => "Wednesday",
4 => "Thursday",
5 => "Friday",
6 => "Saturday"}
puts "It's #{days[Time.now.wday]}"
- 1. рассчитать свободные недели в рубине
- 2. Рассчитать каждый день недели
- 3. Рассчитать первый день календарной недели
- 4. Как рассчитать день недели при условии, что день и месяц
- 5. Как рассчитать день недели при условии, что год и день?
- 6. Рассчитать DateTime на предстоящий день недели
- 7. Как рассчитать день недели в зависимости от времени unix
- 8. Как рассчитать сумму за каждый день недели в базовых данных
- 9. PHP день недели числового день недели текст
- 10. Дата, использующая день недели
- 11. Рассчитать поминутный день недели в среднем в R
- 12. Как рассчитать день недели с отметки времени? (DST)
- 13. PERL Использование localtime, как я могу рассчитать день следующей недели
- 14. Получите день недели в PHP
- 15. Java - Как рассчитать первый и последний день каждой недели
- 16. Как начать день недели?
- 17. Как получить день недели?
- 18. Как найти день недели?
- 19. Определить день недели данной недели
- 20. день недели в Sql
- 21. Как рассчитать число следующей недели?
- 22. Расчетный день недели XSL
- 23. день недели в Java
- 24. Выпуск с DateTime, способный рассчитать день недели, кроме пятниц
- 25. Рассчитать дату на конкретный день в Teradata
- 26. Пакетный день недели?
- 27. C# Получить день недели
- 28. Найдите день недели определенной даты, когда указан первый день недели
- 29. Rails - Определить день недели
- 30. Найти день недели
выглядит так же, как и у класса Time, есть метод #wday, FWIW. – rogerdpack
Дистилляция steenslag в одну строку, которая напрямую отвечает на плакат: используйте 'Date :: ABBR_DAYNAMES [Date.today.wday]'. (Вам нужно включить библиотеку Date, прежде чем вы сможете ее использовать: 'require Date'.) Параметры: для отображения полных имен дней вместо первых трех букв используйте' DAYNAMES' вместо 'ABBR_DAYNAMES'. –
есть ли способ получить число от 0..6 без его преобразования? – Xitcod13