Книга: Программирование на языке Ruby
7.3. Определение дня недели
7.3. Определение дня недели
Есть несколько способов определить день недели. Во-первых, метод экземпляра to_a
возвращает массив, содержащий всю информацию о моменте времени. Можно обратиться к его седьмому элементу; это число от 0 до 6, причем 0 соответствует воскресенью, а 6 — субботе.
time = Time.now
day = time.to_a[6] # 2 (вторник)
Еще лучше воспользоваться методом экземпляра wday
:
day = time.wday # 2 (вторник)
Но и тот, и другой способ не очень удобны. Иногда нужно получить день недели в виде числа, но чаще нас интересует его название в виде строки. Для этого можно обратиться к методу strftime
. Его название знакомо программистам на С. Он распознает около двадцати спецификаторов, позволяя по-разному форматировать дату и время (см. раздел 7.21).
day = time.strftime("%а") # "Tue"
Можно получить и полное название:
long = time.strftime("%А") # "Tuesday"
- 7.1. Определение текущего момента времени
- 7.2. Работа с конкретными датами (после точки отсчета)
- 7.3. Определение дня недели
- 7.4. Определение даты Пасхи
- 7.5. Вычисление n-ого дня недели в месяце
- 7.6. Преобразование из секунд в более крупные единицы
- 7.7. Вычисление промежутка времени, прошедшего от точки отсчета
- 7.8. Високосные секунды
- 7.9. Определение порядкового номера дня в году
- 7.10. Контроль даты и времени
- 7.11. Определение недели в году
- 7.12. Проверка года на високосность
- 7.13. Определение часового пояса
- 7.14. Манипулирование временем без даты
- 7.15 Сравнение моментов времени
- 7.16 Прибавление интервала к моменту времени
- 7.17. Вычисление разности между двумя моментами времени
- 7.18. Работа с конкретными датами (до точки отсчета)
- 7.19. Взаимные преобразования объектов Date, Time и DateTime
- 7.20. Извлечение даты и времени из строки
- 7.21. Форматирование и печать даты и времени
- 7.22. Преобразование часовых поясов
- 7.23. Определение числа дней в месяце
- 7.24. Разбиение месяца на недели
- 7.25. Заключение
- 1.2. Определение количества информации. Единицы измерения количества информации
- Определение версии клиента
- Определение пользовательского формата числовых данных
- Определение целей. Построение цепочек
- Определение необходимого системного вызова
- Раздел 1 Лояльность: определение и ключевые факторы
- Определение позиционного уровня
- 3.3. Определение объектов защиты
- Определение собственной миссии
- Задняя панель компьютера. Подключение нового компьютера
- Определение факторов риска
- Возможно ли в Windows определить время, когда в течение недели просматривался какой-либо файл?