Useful Tips For Ruby on Rails Date Object

Date Object Tips

  # 当前时间
  Time.now

  # 当年
  Time.now.year

  # 当月
  Time.now.month

  # 当天
  today = Date.today

  # 明天
  today.next

  # 本周一
  today.beginning_of_week

  # 下周一
  today.next_week

  # 7 天前, 一周前
  7.days.ago.to_date

  # 一年前
  1.years.ago

  # 一周中的第几天:周日至周六,对应 0 至 6
  today.wday

  # 本月一号
  Date.today.beginning_of_month

  # 本月底
  Date.today.end_of_month

  # 下个月
  1.month.since

  # 两个小时后
  2.hours.from_now

  # 5 分钟之前
  5.minutes.ago

日期 (strftime) 格式化

  # 转换为汉语习惯的时间
  Time.now.strftime("%Y年%m月%d日 %H时:%M分:%S秒")
  => "2015年09月08日 10时:19分:21秒"

  # 转换为简单的日期
  Date.today.strftime("%Y-%m-%d")
  => "2015-09-08"

  # 将当前时间戳,转化为字符,用于生成文件名
  Time.now.strftime("%Y%m%d%H%M%S")
  => "20150908102345"

  # 获取当前日期对应星期几
  # 注意星期天的 wday 为 0
  def week_day(date)
    "星期" + ["天", "一", "二", "三", "四", "五", "六"][date.wday]
  end

  week_day(Date.today)
  => "星期二"

2012-11-09

rocket-wing