Рельсы DateTime.now без времени - PullRequest
81 голосов
/ 19 ноября 2011

Мне нужно использовать DateTime.now, чтобы получить текущую дату и «обрезать» время.

Например, это показывает, что я не хочу: DateTime.now => Sat, 19 Nov 2011 18:54:13 UTC +00:00

Это показывает, что я хочу хочу: DateTime.now.some_operation => 2011-11-06 00:00:00 UTC

Ответы [ 7 ]

156 голосов
/ 19 ноября 2011

Попробуйте DateTime.now.to_date или DateTime.now.beginning_of_day

18 голосов
/ 19 ноября 2011

Вам нужна функция strftime:

Time.now.strftime("%Y-%d-%m %H:%M:%S %Z")
7 голосов
/ 16 июля 2012

А как же Date.today.to_time?

4 голосов
/ 19 ноября 2011

Если вы счастливы require 'active_support/core_ext', тогда вы можете использовать

DateTime.now.midnight # => Sat, 19 Nov 2011 00:00:00 -0800
2 голосов
/ 27 августа 2016

Если вы хотите сегодняшнюю дату без времени, просто используйте Date.today

1 голос
/ 14 августа 2017

Вы можете использовать только:

Date.current
0 голосов
/ 19 ноября 2011

Разобрался.Это работает:

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