test="2018-06-20 09:45:26.54"
想要使用Ruby将此字符串转换为 2018年6月20日,09:45:26.54 。
答案 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"