返回顶部

收藏

Remaining days

更多
require 'date'
def remaining(date, event)
  intervals = [['day', 1], ['hour', 24], ['minute', 60], ['second', 60]]
  elapsed = DateTime.now - date
  tense = elapsed > 0 ? 'since' : 'until'
  interval = 1.0
  parts = intervals.collect do |name, new_interval|
    interval /= new_interval
    number, elapsed = elapsed.abs.divmod(interval)
  '#{number.to_i} #{name}#{'s' unless number == 1}'
  end
  puts '#{parts.join(', ')} #{tense} #{event}.'
end

remaining(DateTime.new(2006, 4, 15, 0, 0, 0, DateTime.now.offset),'the book deadline')

标签:Ruby,Date

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 博主 发表 2015-06-02 07:21:00 ruby中的日期操作(date time in ruby)
  2. 博主 发表 2015-06-02 07:21:00 ruby中的日期操作(date time in ruby)
  3. 博主 发表 2012-12-12 06:56:00 Ruby Simple HTTP Server With Rack
  4. Juli Clover 发表 2013-03-19 18:15:52 Apple TV Software Updated to Version 5.2.1 with Bu
  5. Juli Clover 发表 2013-03-22 01:05:55 Mailbox Fills One Million Reservations, Updates Ap
  6. 博主 发表 2006-12-11 08:00:00 ruby and unicode
  7. Philip Howard 发表 2012-06-20 00:00:00 Remote Ruby with LIRC
  8. pjr 发表 2013-05-06 12:50:50 Mac 下rvm 安装 ruby出错
  9. 博主 发表 2013-05-14 13:00:00 Ruby 1.9.3-p426 is released
  10. xiaoxiao 发表 2013-05-20 04:53:39 ruby json问题
  11. lgn21st 发表 2013-06-01 02:31:37 [福利] 七牛新后台上线 携手Ruby China放送现金券
  12. kingwkb 发表 2013-06-06 13:24:12 发现一 ruby-china bug

发表评论