Преобразуйте DateTime в простую Дату в Ruby on Rails

Да. Гарантирует, чтобы у Вас не было висячей строки (запись без родителя), и в зависимости от использования при определении каскадного удаления когда родитель будет удален, все его дочерние элементы будут также удалены.

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

108
задан Simone Carletti 10 July 2009 в 19:25
поделиться

3 ответа

DateTime#to_date does exist with ActiveSupport:

$ irb
>> DateTime.new.to_date
NoMethodError: undefined method 'to_date' for #<DateTime: -1/2,0,2299161>
    from (irb):1

>> require 'active_support/core_ext'
=> true

>> DateTime.new.to_date
=> Mon, 01 Jan -4712
157
ответ дан 24 November 2019 в 03:30
поделиться

Здравствуйте, collimarco :), вы можете использовать метод ruby ​​ strftime для создания собственного отображения даты и времени.

time.strftime (string) => string

  %a - The abbreviated weekday name (``Sun'')
  %A - The  full  weekday  name (``Sunday'')
  %b - The abbreviated month name (``Jan'')
  %B - The  full  month  name (``January'')
  %c - The preferred local date and time representation
  %d - Day of the month (01..31)
  %H - Hour of the day, 24-hour clock (00..23)
  %I - Hour of the day, 12-hour clock (01..12)
  %j - Day of the year (001..366)
  %m - Month of the year (01..12)
  %M - Minute of the hour (00..59)
  %p - Meridian indicator (``AM''  or  ``PM'')
  %S - Second of the minute (00..60)
  %U - Week  number  of the current year,
          starting with the first Sunday as the first
          day of the first week (00..53)
  %W - Week  number  of the current year,
          starting with the first Monday as the first
          day of the first week (00..53)
  %w - Day of the week (Sunday is 0, 0..6)
  %x - Preferred representation for the date alone, no time
  %X - Preferred representation for the time alone, no date
  %y - Year without a century (00..99)
  %Y - Year with century
  %Z - Time zone name
  %% - Literal ``%'' character

   t = Time.now
   t.strftime("Printed on %m/%d/%Y")   #=> "Printed on 04/09/2003"
   t.strftime("at %I:%M%p")            #=> "at 08:56AM"
58
ответ дан 24 November 2019 в 03:30
поделиться

Я недавно написал драгоценный камень, чтобы упростить этот процесс и сделать более аккуратными ваши представления и т.д.

Проверьте его: http://github.com/platform45/easy_dates

0
ответ дан 24 November 2019 в 03:30
поделиться
Другие вопросы по тегам:

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