Ruby Дата и время
TimeКласс Time в Ruby используется для представления дат и времени. Он основан на системной дате и времени, предоставляемых операционной системой. Этот класс может не иметь возможности представлять даты до 1970 или после 2038.
Этот учебник познакомит вас со всеми важными концепциями даты и времени.
Создание текущей даты и времени
Ниже приведён простой пример получения текущей даты и времени:
Пример
Попробуйте »
Вывод приведенного выше примера:
当前时间 : 2015-09-17 15:23:14 +0800 当前时间 : 2015-09-17 15:23:14 +0800
Получение компонентов даты и времени
Мы можем использоватьTimeобъекты Time для получения различных компонентов даты и времени. См. следующий пример:
Пример
Вывод приведенного выше примера:
当前时间 : 2015-09-17 15:24:44 +0800 2015 9 17 4 260 15 24 44 921519 CST
Time.utc、Time.gmиTime.localФункции
Эти функции можно использовать для форматирования дат в стандартных форматах, как показано ниже:
Следующий пример возвращает все компоненты в виде массива:
Попробуйте следующий пример:
Пример
Вывод приведенного выше примера:
[39, 25, 15, 17, 9, 2015, 4, 260, false, "CST"]
Этот массив можно передать вTime.utcилиTime.localфункцию, чтобы получить различные форматы даты, как показано ниже:
Пример
Вывод приведенного выше примера:
2015-09-17 15:26:09 UTC
Ниже показан способ получить время — количество секунд с начала эпохи (зависит от платформы):
Часовые пояса и переход на летнее время
Вы можете использовать TimeTimeобъекты, чтобы получить всю информацию, связанную с часовыми поясами и переходом на летнее время, как показано ниже:
Форматирование времени и даты
Существует много способов форматирования даты и времени. Следующий пример демонстрирует некоторые из них:
Пример
Вывод приведенного выше примера:
2015-09-17 15:26:42 +0800 Thu Sep 17 15:26:42 2015 2015-09-17 15:26:42 +0800 2015-09-17 15:26:42
Директивы форматирования времени
Директивы, перечисленные в таблице ниже, используются с методомTime.strftime.
| Директива | Описание |
|---|---|
| %a | Сокращённое название дня недели (например, Sun). |
| %A | Полное название дня недели (например, Sunday). |
| %b | Сокращённое название месяца (например, Jan). |
| %B | Полное название месяца (например, January). |
| %c | Предпочтительное локальное представление даты и времени. |
| %d | День месяца (от 01 до 31). |
| %H | Час дня, 24-часовой формат (от 00 до 23). |
| %I | Час дня, 12-часовой формат (от 01 до 12). |
| %j | День года (от 001 до 366). |
| %m | Месяц года (от 01 до 12). |
| %M | Минута часа (от 00 до 59). |
| %p | Индикатор полудня (AM или PM). |
| %S | Секунда минуты (00 или 60). |
| %U | Номер недели текущего года, начиная с первого воскресенья (как первого дня первой недели) (от 00 до 53). |
| %W | Номер недели текущего года, начиная с первого понедельника (как первого дня первой недели) (от 00 до 53). |
| %w | День недели (воскресенье — 0, от 0 до 6). |
| %x | Предпочтительное представление только даты, без времени. |
| %X | Предпочтительное представление только времени, без даты. |
| %y | Представление года без века (от 00 до 99). |
| %Y | Год с веком. |
| %Z | Название часового пояса. |
| %% | Символ %. |
Арифметика времени
С временем можно выполнять простые арифметические операции, как показано ниже:
Вывод приведенного выше примера:
2015-09-17 15:27:08 +0800 2015-09-17 15:26:58 +0800 2015-09-17 15:27:18 +0800 10.0Другие расширения