如何在Ruby中输入时间作为输入?

时间:2014-04-02 02:44:24

标签: ruby

我正在尝试编写一个脚本,它将花费一些时间作为输入,并以90分钟的增量向后输出时间。我用它来计算我入睡的最佳时间。

例如,如果我想在晚上12点醒来,程序将输出

10:30 am, 9:00 am, 7:30, am

,依此类推。

到目前为止我所拥有的是:

puts 'what time do you want to wake up?: '
time = gets.chomp

我可以从这里做些什么?

1 个答案:

答案 0 :(得分:1)

研究如何在类型之间转换变量(在某些方面说它," cast"它们)。你在这里有一个字符串输入。您可以通过输入

来查看
puts time.class

chomp之后。

有很多方法可以进行转换。所有这些都是Time类的方法。你可以pick the best one for your needs, here.

然后你可以用

之类的东西做日期数学
step_unit = 60 * 90
# ....
n.times do
  print "#{converted_time -= step_unit}, "
end

请记住首先转换您的时间值,并计算24小时内要覆盖的步数。


您可以学习Ruby附带的核心类here