2013-06-11 2 views
4

Хотя, я уже получил ответ на свой вопрос, я решил его отредактировать.ищет метод, который покажет дату завтрашнего дня в рубине

Я искал любой метод в Ruby, который может отображать дату завтрашнего дня. Это нормально, если он покажет время, я отформатирую его вывод.

Time.now дает текущую дату, время и часовой пояс:

Time.now 
=> 2013-06-11 13:09:02 +0900 

Как я могу использовать этот метод, чтобы получить дату на завтра?

Это нормально, если есть другие способы, которые могут это сделать.

+0

Ваш вопрос обманчивый/непонятный. Сначала вам кажется, что вы ищете дату (без времени), но, в конце концов, похоже, что вы ищете способ добавить ровно 24 часа. – sawa

+1

Оскар, такой комментарий непродуктивен и показывает, что вы не понимаете, как работает Stack Overflow. Если вы зададите хороший вопрос и предоставите необходимую информацию, вы получите голосов. Не получится, и вы получите голоса. Но почему вас это волнует? Не следует ли получить ответ более важным, чем получать очки, которые означают очень мало? –

+0

Класс Ruby Date имеет оператор '' '' '(http://ruby-doc.org/stdlib-2.0/libdoc/date/rdoc/Date.html#method-i-2B), используемый для добавления значений в Объект даты. Первый пример: 'Date.new (2001,2,3) + 1 # => # '. –

ответ

10
require 'date' 

tomorrow = Date.today + 1 

tomorrow - объект с датой. Вы можете распечатать его в нужном формате.

+0

Это правильный ответ. Во-первых, это чисто рубиновое решение. Во-вторых, он возвращает объект 'Date', который точно запрашивается в исходном сообщении. – zeantsoi

+0

Спасибо, это тоже сработало для меня. – Askar

5

Try:

Time.now + 24*60*60 

(Отредактировано: xaxxon прав Моя ранняя версия используется функциональность Rails.)

+2

1.день не рубин. 'ruby-1.9.2-p290: 001> 1.день NoMethodError: неопределенный метод 'day 'для 1: Fixnum' из вопроса: Обратите внимание, я не имею в виду о Rails, это о Ruby. Не в 2.0, поэтому я не уверен, что «более ранняя версия» вы имеете в виду: http://www.ruby-doc.org/core-2.0/Fixnum.html – xaxxon

+0

@Stu Gla, спасибо вам в любом случае. Потому что вы ответили мне за меня. – Askar

1

Подобно Stu Gla:

today = Time.now 
tomorrow = today + (60 * 60 * 24) 

вы можете использовать метод .strftime для форматирования ... пример:

puts tomorrow.strftime("%F") 
# => 2014-08-07 
Смежные вопросы