Ruby:如何将时间或日期转换为友好的url字符串?

时间:2010-09-16 01:21:10

标签: ruby-on-rails ruby

例如,如果我有Time.now,我该如何将其转换为友好的网址字符串?

Time.now.some_method_here => some_url_friendly_string_here

我相信有一个内置的Ruby方法可以做到这一点,但我似乎无法在Google上找到它。有什么想法吗?

4 个答案:

答案 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