Как инициализировать дату-время сегодняшним днем, но с определенным временем?

#ruby-on-rails-3

#ruby-on-rails-3

Вопрос:

Как легко инициализировать дату-время сегодняшним днем, но с определенным временем?

 d = DateTime.(??)
#desired resulting time => 09 April 2011 9:46 PM
  

Ответ №1:

Спасибо за ваш ответ @Vadim. Мне следовало поискать немного сложнее.. Я смог это сделать:

 DateTime.now.change(:hour => 21, :minute => 46)
  

Комментарии:

1. В Rails 3 параметр minute называется min

Ответ №2:

DateTime#change должно быть из какой-то внешней библиотеки. Это не работает в стандартной настройке. Для случаев, когда у вас не установлена такая библиотека, что-то вроде:

 Date.today.to_time (21*3600 46*60 53)
  

может сработать.

Комментарии:

1. приятно знать! Спасибо! (отредактировал мой вопрос, чтобы удалить тег Ruby.. Дата-время есть только в Rails, я думаю)

Ответ №3:

Time.new

 d = Time.new(2011, 4, 9, 21, 46)
  

или, если вам просто нужно текущее время

 d = Time.new
  

или

 d = Time.now