新手问题 Ruby 如何做时间比较

sz · 2017年05月08日 · 最后由 chalvern 回复于 2017年05月09日 · 4232 次阅读

最近一个项目,如果输入时间为空,则立即做一件事,否则到指定输入时间在做,输入的时间为字符串格式如

str1=2017-1-2 12:12:00
 today = Time.new; 
 str2=today.strftime("%Y-%m-%d %H:%M:%S")
if str1==""
  do nothing
else
  str1==str2
  # do Something 
end

这个时间该如何比较啊,求大神指导

用 Time 的函数来处理,而不是用字符串

https://ruby-doc.org/core-2.2.0/Time.html

Time 类型是可以直接做比较的

或者可以 today.to_i 转成数字的 unix time 来比较

else
  str1==str2

我感觉我 ruby 白学了……

huacnlee 回复

谢谢。因为是搞 java 的,才接触 ruby 不久。还有一个问题,假如输入的时候是明天,那现在进入这个方法,肯定是不等于,这个方法就走完了,如何在指定时间在进入这个方法,触发这个事件,去做需要执行的任务啊

是不是在找 whenever 类似的定时器?

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