2011-12-22 2 views
2

Я пытаюсь вернуть дату в виде строки, но удаляю первое 0 из возвращаемого часа.Ruby/Rails - синтаксический анализ DateTime

Это код, я использую:

t = Time.new 

current_date = Time.local(t.year, t.month, t.day, t.hour, t.min/30*30) 
time_str = current_date.strftime("%I.%M+%p").downcase 

puts time_str 

Outputs: 
03.00+pm 

Expected output: 
3.00+pm # need to remove the last zero from the hour(s) 

ответ

4

просто использовать %l вместо %I

.strftime("%l.%M+%p") 
+0

Мне пришлось добавить 'strip!' В конце, так как возвращаемая строка была '' 3.00 + pm "'. Он работает, спасибо! – fuzz

+0

приветствую приятеля .. не забудьте отметить его как принятый ответ для помощи будущему посетителю. –

1

Просто добавьте одну точку: если вы хотите быстро найти строку формата, man date будет дайте правильный ответ, если вы находитесь на OS X или Linux.

Если строка формата отличается, вы всегда можете найти ее в документе Ruby, вот .

+0

Спасибо за подсказку. – fuzz

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