对ruby时间处理的资料小结

Time Calculations
代码
  1. >> Time.days_in_month(2)  
  2. => 28  
  3. >> Time.now.seconds_since_midnight  
  4. => 8709.840965  
  5.   
  6. # last_year, next_year, last_month, next_month  
  7. >> Time.now.last_year  
  8. => Sun Dec 18 02:25:59 -0800 2005  
  9. >> Time.now.next_month  
  10. => Thu Jan 18 02:26:41 -0800 2007  
  11.   
  12. # beginning_of_day, end_of_day, beginning_of_month, end_of_month  
  13. # beginning_of_quarter, beginning_of_year  
  14. >> Time.now.beginning_of_day  
  15. => Mon Dec 18 00:00:00 -0800 2006  
  16.   
  17. # yesterday, tomorrow, next_week(day = :monday)  
  18. >> Time.now.tomorrow  
  19. => Tue Dec 19 02:28:01 -0800 2006  
  20. >> Time.now.next_week(:friday)  
  21. => Fri Dec 29 00:00:00 -0800 2006  
  22.   
  23. # valid symbol keys for #change:  
  24. #   year, month, mday, hour, min, sec, usec  
  25. >> Time.now  
  26. => Mon Dec 18 02:33:17 -0800 2006  
  27. >> Time.now.change(:hour => 1)  
  28. => Mon Dec 18 01:00:00 -0800 2006  
  29.   
  30. >> Time.now.in(5.days)  
  31. => Sat Dec 23 02:34:59 -0800 2006


所有strftime方法中可用的格式化符号:
 =====================================================
 %a    星期的缩写,如Wed
 %A    星期的全称,如Wednesday
 %U    本星期在全年中所属的周数
 %W    
 %H    小时(24小时制)
 %M    分钟
 %S    秒
 %I    小时(12小时制)
 %p    PM 或 AM
 
 %b    月份的缩写,如 Jan
 %B    月份的全称,如 January
 %c    本地日期和时间,如 06/14/07 16:43:49
 %d    日期 (1..31)
 %j    本日在一年中所属的天 (1..366)
 %m    月份 (1..12)
 %w    星期的数字形式 (0..6)
 %x    本地日期,如 06/14/07
 %Y    本地时间,如 16:43:49
 %y    2位的年份表示,如07
 %Y    4位的年份表示,如2007
 %Z    时区名,如"中国标准时间"
 %%    字面符号%

------------------------------------------------------------------------------

Range#to_s(:db)

代码
  1. >> (7.days.ago..1.day.ago).to_s(:db)  
  2. => "BETWEEN '2006-12-11 02:06:50' AND '2006-12-17 02:06:50'"  
原文地址:https://www.cnblogs.com/zhualike/p/1629807.html