Ruby/Направляющие: преобразование Даты к метке времени UNIX

Они не делают Объектно-ориентированный язык лучше. Они делают практические языки более практичными.

, Если Вы принимаетесь за решение проблемы с молотком OO - представляют все как взаимодействия между объектами - тогда, закрытие не имеет никакого смысла. На основанном на классах языке OO закрытия являются заполненными дымом задними комнатами, где материал сделан, но никто не говорит об этом впоследствии. Концептуально, это отвратительно.

На практике, это чрезвычайно удобно. Я действительно не хочу определять новый тип объекта содержать контекст, установить, "действительно наполняют" метод для него, инстанцируют его и заполняют контекст..., я просто хочу сказать компилятор, "посмотрите, посмотрите то, к чему у меня есть доступ прямо сейчас? Это - контекст, который я хочу, и вот код, я хочу использовать его для - держатся за это для меня, 'пока мне не нужен он".

Фантастический материал.

197
задан igul222 26 November 2009 в 13:01
поделиться

2 ответа

Код date.to_time.to_i должен работать нормально. Сеанс консоли Rails ниже показывает пример:

>> Date.new(2009,11,26).to_time
=> Thu Nov 26 00:00:00 -0800 2009
>> Date.new(2009,11,26).to_time.to_i
=> 1259222400
>> Time.at(1259222400)
=> Thu Nov 26 00:00:00 -0800 2009

Обратите внимание, что промежуточный объект DateTime находится в местном времени, поэтому временная метка может отличаться от ожидаемой на несколько часов. Если вы хотите работать в формате UTC, вы можете использовать метод DateTime «to_utc».

339
ответ дан 23 November 2019 в 05:15
поделиться

Когда я пробую это, я получаю следующее:

>> Date.today.to_time.to_i
=> 1259244000
>> Time.now.to_i
=> 1259275709

Разница между этими двумя числами связана с тем, что Date не хранит часы, минуты или секунды текущего времени. Преобразование даты в время приведет к полуночи этого дня.

68
ответ дан 23 November 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: