2015-12-08 2 views
1

У меня есть поле ввода, которое дает мне дату в этом формате «22 декабря 2015 года», и мне нужно получить день на неделю из Это. Я попытался взять параметры и использовать strftime("%A"), но я продолжаю получать нуль.Изменение строки с датой в формате, чтобы получить день недели

Это синтаксис я использовал:

a = params[:start_date] 
a.strftime("%A") 

Я видел из других постов я могу сделать:

t=Time.new 
t.strftime("%A") 

и что работает для Time.now. Я не уверен, почему это не сработает для моих параметров.

+0

Параметры запроса сериализовать в виде строк. Вам нужно преобразовать 'params [: start_date]' в объект 'Date', прежде чем вы сможете использовать' strftime'. @simonecarletti избил меня до ответа –

ответ

2

Сначала вам необходимо преобразовать String в объект Time.

require 'time' 

t = Time.parse("Dec 22, 2015") 

, а затем отформатировать его

t.strftime("%A") 
=> "Tuesday" 
+0

Или вы могли бы использовать 'Date # parse' вместо' Time # parse', поскольку параметр в примере имеет только значения даты. –

+0

Это отлично поработало! Спасибо! –

+0

@BradleyFarquhar, пожалуйста, примите ответ, если он решает вашу проблему –

Смежные вопросы