所以我是ruby的新手,我现在仍然使用1.8.7。我在阅读完文档后尝试将10分钟添加到时间对象中,但我没有运气。
require "time"
curr_time = Time.now.strftime("%d-%b-%Y %H:%M:%S")
curr_time = curr_time + 600
然后我得到一个错误说
' +':无法将Fixnum转换为字符串(TypeError)
有什么想法吗?
答案 0 :(得分:6)
这是因为在您的curr_time
变量中,您获得了strftime
方法调用的结果,即String
,而不是Time
实例。要添加10分钟,您可以执行以下操作:
curr_time = Time.now
(curr_time + 600).strftime("%d-%b-%Y %H:%M:%S")
答案 1 :(得分:4)
你应该"增加时间"到Time
对象本身,而不是string
表示:
require "time"
curr_time = Time.now
curr_time = curr_time + 600
formatted = curr_time.strftime("%d-%b-%Y %H:%M:%S")
希望能解决你的问题!