rails의 날짜 시간 형식

2169 단어 Rails
때로는 rails에서 정의한 날짜와 시간 형식을 잊어버릴 수도 있고, 자신이 추가한 날짜와 시간 형식을 잊어버릴 수도 있다.
 
다음 코드는 rails의 날짜와 시간 형식을 보여 줍니다.
 
task :date_formats => :environment do
  now = Time.now
  [:to_date, :to_datetime, :to_time].each do |conv_meth|
    obj = now.send(conv_meth)
    puts obj.class.name
    puts "=" * obj.class.name.length
    name_and_fmts = obj.class::DATE_FORMATS.map { |k, v| [k, %Q('#{String === v ? v : '&proc'}')] }
    max_name_size = name_and_fmts.map { |k, _| k.to_s.length }.max + 2
    max_fmt_size = name_and_fmts.map { |_, v| v.length }.max + 1
    name_and_fmts.each do |format_name, format_str|
      puts sprintf("%#{max_name_size}s:%-#{max_fmt_size}s %s", format_name, format_str, obj.to_s(format_name))
    end
    puts
  end
end

 
프로젝트 디렉토리에서 rake date 실행하기formats - 다음과 같은 출력을 볼 수 있습니다.
 
Date
====
db:'%Y-%m-%d'         2009-12-04
short:'%e %b'         4 Dec
number:'%Y%m%d'       20091204
long:'%B %e, %Y'      December 4, 2009
long_ordinal:'&proc'  December 4th, 2009
rfc822:'%e %b %Y'     4 Dec 2009

DateTime
========
db:'%Y-%m-%d'         2009-12-04 15:38:38
short:'%e %b'         04 Dec 15:38
number:'%Y%m%d'       20091204153838
long:'%B %e, %Y'      December 04, 2009 15:38
long_ordinal:'&proc'  December 4th, 2009 15:38
rfc822:'%e %b %Y'     Fri, 04 Dec 2009 15:38:38 +0800
       
Time
====
short:'%d %b %H:%M'            04 Dec 15:38
db:'%Y-%m-%d %H:%M:%S'         2009-12-04 15:38:38
number:'%Y%m%d%H%M%S'          20091204153838
long:'%B %d, %Y %H:%M'         December 04, 2009 15:38
long_ordinal:'&proc'           December 4th, 2009 15:38
rfc822:'%a, %d %b %Y %H:%M:%S %z'  Fri, 04 Dec 2009 15:38:38       
time:'%H:%M'                   15:38

좋은 웹페이지 즐겨찾기