Разница между Time.new (год, месяц, день) и Time.local (год, месяц, день) в рубине - PullRequest
0 голосов
/ 10 марта 2012

Я вижу, что класс Time имеет разные методы для создания нового объекта Time, в чем разница между вызовом Time.new, или .local, или mktime ??

Поделиться ли они одной и той же реализацией под разными именами?

В документации по Ruby для Time я вижу, что новый метод конструктора представлен необязательными параметрами, по умолчанию равными nil. Другие методы, такие как .local и mktime, имеют перегрузку для каждого знака, это только потому, что вы не можете иметь перегрузки дляконструктор в Ruby?

1 Ответ

0 голосов
/ 10 марта 2012

Time.mktime является синонимом Time.local и создает время на основе значений, которые вы ему задаете.Time.new использует значения времени из системы для создания объекта.

Я нашел этот весьма полезным:

Time.new -> aTimeВозвращает объект Time, инициализированный для текущего системного времени.Примечание. Созданный объект будет создан с использованием разрешения, доступного на системных часах, и может включать доли секунд.

Time.gm (год [, месяц, день, час, мин, сек, usec])-> aTime Time.gm (сек, мин, час, день, месяц, год, wday, yday, isdst, tz) -> aTime Создает время на основе заданных значений, интерпретируемых как UTC (GMT).Год должен быть указан.Для других значений по умолчанию установлено минимальное значение для этого поля (и может быть равно нулю или опущено).Месяцы могут быть указаны числами от 1 до 12 или трехбуквенными названиями английских месяцев.Часы указаны на 24-часовых часах (0..23).Вызывает ArgumentError, если какие-либо значения находятся вне диапазона.Также будет принимать десять аргументов в порядке вывода по времени # to_a.Time.local (год [, месяц, день, час, мин, сек, usec]) -> aTime Time.local (сек, мин, час, день, месяц, год, день, день, isdst, tz) -> aTimeТо же, что и Time.gm, но интерпретирует значения в местном часовом поясе.

Time.mktime (год, месяц, день, час, минуты, секунды, usec) -> Синоним aTime для Time.local.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...