例如,如果我有Time.now,我该如何将其转换为友好的网址字符串?
Time.now.some_method_here => some_url_friendly_string_here
我相信有一个内置的Ruby方法可以做到这一点,但我似乎无法在Google上找到它。有什么想法吗?
答案 0 :(得分:4)
当您使用Rails时(如标记所示),您可以使用.to_s:
Time.now.to_s
您可以为方法指定时间格式,这将以不同方式格式化字符串,例如Time.now.to_s(:db)
。有关默认日期格式,请参阅this链接。如果您没有指定格式,它将使用与strftime相同的内容。
该页面的下一部分还介绍了如何添加自己的时间格式,这非常简单:
# Initializer
Time::DATE_FORMATS[:month_and_year] = "%B %Y"
# Any code
Time.now.to_s(:month_and_year) # => September 2010
答案 1 :(得分:3)
红宝石中的一切都是开放和可扩展的
class Time
def to_url_string
self.strftime("%H:%M:%s")
end
end
答案 2 :(得分:2)
您可以使用strftime方法。这有点神秘,但如果你看一下docs,就可以选出年,月,日等。
例如,Time.now.strftime("%H:%M:%s")
将以小时,分钟和秒为单位给出时间。
答案 3 :(得分:1)
您可以考虑使用xmlschema
方法,该方法将以以下格式返回日期/时间:
CCYY-MM-DDThh:mm:ssTZD
或
CCYY-MM-DDThh:mm:ss.sssTZD
取决于fraction_digits
参数的值。
这会给你一个时间:
2010-09-15T20:31:15+05:00
例如。
有关详细信息和代码链接,请参阅docs。