2013-10-24 1 views
0

Я хочу преобразовать сборщик дат-времени jquery в db-вход. НоФорматирование даты и времени для ввода базы данных

"10/24/2013 12:00 am +0300".to_datetime.utc.strftime("%Y-%m-%d %H:%M:%S")

Дайте мне ошибку;

ArgumentError: invalid date

Как я могу заставить его работать.

"10/24/2013 12:00 am +0300" - всего лишь пример ввода не только одного конкретного ввода, с которым я работаю.

Я хочу что-то, что может работать лучше, чем это schedule = params[:message][:schedule].to_dateime.utc.strftime("%Y-%m-%d %H:%M:%S")

Спасибо всем, я надеюсь, что это работает;

schedule = params[:message][:schedule] 
scheduled_time = DateTime.strptime("#{schedule}","%m/%d/%Y %H:%M %p %z").to_datetime.utc.strftime("%Y-%m-%d %H:%M:%S") 
+1

Когда вы говорите, что это просто пример ввода, вы говорите, что формат даты можно изменить? Если вы не знаете формат, вы не можете гарантировать правильный синтаксический анализ. –

+0

@joonty вы правы для случайного формата, мы не можем использовать какие-либо предопределенные методы. –

+0

@joonty его форма input.' <% = f.input: schedule, input_html: {id: 'schedule'}%> 'формат согласован. – acacia

ответ

0

Вы можете использовать strptime указать формат строки для синтаксического анализа:

DateTime.strptime "10/24/2013 12:00 am +0300", "%m/%d/%Y %H:%M %p %z" 
+0

, пожалуйста, проверьте отредактированный вопрос – acacia

+0

@acacia, пожалуйста, проверьте мой комментарий! –

0

Вы можете попробовать это

Time.new("10/24/2013 12:00 am +0300").utc.strftime("%Y-%m-%d %H:%M:%S") 
+0

@Ghosh, пожалуйста, отредактируйте отредактированный вопрос – acacia

+0

Время разбора в этом случае (ruby 1.9.3-p392) –

+0

@joonty вы правы –

0

Попробуйте следующие

Вы должны понять, в каком формате вы получаете дату-дату В данном примере это i s в формате "%m/%d/%Y %H:%M %p %z"

Ref this для его значения

DateTime.strptime("10/24/2013 12:00 am +0300", "%m/%d/%Y %H:%M %p %z").to_datetime.utc.strftime("%Y-%m-%d %H:%M:%S") 
Смежные вопросы