Как проанализировать экземпляр ActiveSupport :: TimeWithZone, чтобы получить дату, день недели, месяц и год? - PullRequest
0 голосов
/ 16 мая 2019

Я использую версию Rails 5.2.2.1 и имею экземпляры ActiveSupport::TimeWithZone, возвращаемые из поля starts_on в нескольких записях.

Один пример оценивает это:

Thu, 05 Apr 2019 16:32:41 BST +01:00

Может кто-нибудь показать мне хороший способ преобразовать его в каждый из этих четырех форматов:

5 April 2019 (день, округленный до одной цифры, где это возможно, месяц как полное слово, год какцифра)

05 (день, состоящий из двух цифр, с первым 0, сохраняемым для 1-9)

Thursday (день, как полное, без сокращений слово)

April (месяц как полное, не сокращенное слово)

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

Решение, конечно, должно будет работать с ActiveSupport::TimeWithZone экземпляром, моделирующим любую дату, а не только мой пример от 5 апреля.

1 Ответ

1 голос
/ 16 мая 2019

оформить заказ ruby Дата , Время и strftime

Date.today    
=>Thu, 16 May 2019

Date.today.strftime('%A')  
=> "Thursday" # you week name

Date.today.strftime('%B')
=> "May" # month name  

Date.today.strftime('%d %A %b %Y')
=> "16 Thursday May 2019"

10.days.ago.strftime('%-d %b %Y')
=> "6 May 2019" # gives date without 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...