使用Ruby将日期字符串转换为特定日期格式

时间:2016-12-15 11:10:05

标签: ruby

   test="2018-06-20 09:45:26.54"

想要使用Ruby将此字符串转换为 2018年6月20日,09:45:26.54

1 个答案:

答案 0 :(得分:2)

只需使用Time.parse

require 'time'
Time.parse(test)

Time.strptime如果您知道具体格式:

Time.strptime(test, "%Y-%m-%d %H:%M:%S.%L")

或更短:

Time.strptime(test, "%F %T.%L")

获得time对象后:

time.strftime('%B %d %Y, %T.%L')
#=> "June 20 2018, 09:45:26.540"

如果您想获得与问题中提到的完全相同的格式:

require "active_support/core_ext/integer/inflections"
# ^ No need for this line in Rails.

time.strftime("%B #{time.day.ordinalize} %Y, %T.%L").chomp('0')
# => "June 20th 2018, 09:45:26.54"