Получить начало и конец эпохи на сегодня

Я использую API, который требует start_time и end_time в эпоху, которая даст мне данные между этими временами. Вопрос в том, что я хочу получить все данные от начала UTC сегодня до конца UTC сегодня.

Какой самый эффективный способ сделать это в ruby?

3 ответа

Решение

Вы можете использовать ActiveSupportDate функции #beginning_of_day а также #end_of_day, И использовать to_i преобразовать время в секунды с начала эпохи.

require 'active_support/core_ext'

Date.today.beginning_of_day.to_i
# => 1395532800 
Date.today.end_of_day.to_i
# => 1395619199 

Date.today.to_time.to_i

должен дать вам начало, и

(Date.today + 1).to_time.to_i

должен получить вам конец.

Если вы не используете рельсы или не хотите импортировать require 'active_support/core_ext' по какой-то причине вы можете сделать это с помощью ruby ​​следующим образом

Date.today.to_time.to_i # beginning_of_day
=> 1481221800

Date.today.to_time.change(hour: 23, min: 59, sec: 59).to_i # end_of_day
=> 1481308199
Другие вопросы по тегам