新手问题 关于时间加减的问题

ask_acct · 2014年06月11日 · 最后由 ask_acct 回复于 2014年06月12日 · 4471 次阅读

需求是对比两个时间不超过 1 分钟,想这样做

a =  DateTime.now.strftime('%Y-%m-%d %H:%M:%S')
b = DateTime.parse('2014-06-11 23:16:55').strftime('%Y-%m-%d %H:%M:%S')
a-b < (1/1440)

但是总是报错

NoMethodError: undefined method `-' for "2014-06-11 23:28:39":String

请问时间如何对比?谢谢

[1] pry(main)> DateTime.now - DateTime.parse('2014-06-11 23:16:55')
=> (-1538026031/4800000000)
DateTime.now + 1.minutes < DateTime.parse('2014-06-11 23:16:55')
# or
DateTime.now.to_i -  DateTime.parse('2014-06-11 23:16:55').to_i < 60

#1 楼 @taojay315 谢谢,(-1538026031/4800000000) 这个是什么值?如何转化为分钟或者秒?

#2 楼 @saiga 两行代码都不能执行

irb(main):001:0> DateTime.now + 1.minutes < DateTime.parse('2014-06-11 23:16:55')
NameError: uninitialized constant DateTime

irb(main):006:0> DateTime.now.to_i -  DateTime.parse('2014-06-11 23:16:55').to_i
NoMethodError: undefined method `to_i' for #<DateTime:0x007ffc11839a18>

帮忙看一下,谢谢

#4 楼 @ask_acct 没用 rails?那用标准库...

require 'time'
Time.now.to_i - Time.parse('2014-06-11 23:16:55').to_i < 60

不要 strftime,格式化就变成 string 还算啥

需要 登录 后方可回复, 如果你还没有账号请 注册新账号