有没有什么好方法可以将Ruby中的当前日期/时间作为没有分隔符的字符串,而不必使用Time.now.strftime('%Y%m%d')
等?
我正在寻找的输出类似于" 20151002112001"或类似的,所有数字和没有分隔符,人类可读的形式,而不是Unix时间。
答案 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'
。