在没有分隔符的情况下将Ruby中的当前日期/时间作为字符串获取?

时间:2015-10-02 08:28:52

标签: ruby

有没有什么好方法可以将Ruby中的当前日期/时间作为没有分隔符的字符串,而不必使用Time.now.strftime('%Y%m%d')等?

我正在寻找的输出类似于" 20151002112001"或类似的,所有数字和没有分隔符,人类可读的形式,而不是Unix时间。

2 个答案:

答案 0 :(得分:1)

我发现使用Active Support可以easily done

require 'active_support/core_ext/time/conversions'
Time.now.to_formatted_s(:number) # => "20151002112419"

由于我已经依赖Active Support,因此这是迄今为止最简单,最简单的方法。

答案 1 :(得分:-1)

您可以在Time对象上使用.to_i来获取代表Unix-time的数字。

您可以使用.to_time将Date或DateTime对象转换为Time。例如:

string = "#{Date.today.to_time.to_i}"
# "1443769200"

如果您需要获取某些属性但不喜欢strftime,则可以使用Date的方法。例如,您可能会执行类似

的操作
date = Date.today
string = "#{date.year}-#{date.month}-#{date.day}"
# "2015-10-2"

这一切都可以在没有Active Support的情况下运行,但您仍然需要require 'date'