📅  最后修改于: 2023-12-03 14:56:48.379000             🧑  作者: Mango
在Ruby中,我们可以通过 to_s
方法将一个时间对象(Time
)转化为字符串。这个方法非常有用,因为我们通常需要将时间以某种形式显示在屏幕上或者存储在数据库中。
基本语法如下:
time.to_s #=> "2021-06-01 18:00:00 +0800"
time.strftime("%Y-%m-%d %H:%M:%S") #=> "2021-06-01 18:00:00"
无参数
to_s
方法可以不带任何参数,这时它默认使用Ruby的默认格式将时间对象转化为一个字符串。
时间格式字符串
to_s
方法也可以接收一个参数,这个参数是一个时间格式字符串。我们可以使用这个字符串定义我们期望输出的时间格式。
以下是一些示例:
time = Time.new(2021, 6, 1, 18, 0, 0, "+08:00")
puts time.to_s #=> "2021-06-01 18:00:00 +0800"
puts time.to_s(:short) #=> "01 Jun 18:00"
puts time.to_s(:long) #=> "01 June 2021 18:00:00 +0800"
puts time.strftime("%Y-%m-%d %H:%M:%S") #=> "2021-06-01 18:00:00"
在以上示例中,我们创建了一个时间对象,然后使用 to_s
和 strftime
方法将它转化为字符串,并使用不同的字符串格式显示出来。
to_s
方法是Ruby中非常有用的一个方法,它让我们可以方便地将时间对象转化为字符串,并按照预定义的格式输出。在处理时间相关的业务逻辑时,它是一个非常有用的工具。