Formatting Dates in Ruby

 Feb 17, 2013

Every time I come to format a date as a string in Ruby I spend 10 minutes looking up the tokens to get the formatting right. They just don’t seem to want to stick in my memory, so I’ve reposted them here for my own reference (and yours if you find this page)

Time

%H - Hour of the day, 24-hour clock (00..23)
%I - Hour of the day, 12-hour clock (01..12)

%M - Minute of the hour (00..59)

%S - Second of the minute (00..60)

%p - Meridian indicator ('AM'  or  'PM')

Days

%a - The abbreviated weekday name ('Sun')
%A - The  full  weekday  name ('Sunday')
%d - Day of the month (01..31)
%j - Day of the year (001..366)
%w - Day of the week (Sunday is 0, 0..6)

Weeks

%U - Week  number  of the current year,
        starting with the first Sunday as the first
        day of the first week (00..53)
%W - Week  number  of the current year,
        starting with the first Monday as the first
        day of the first week (00..53)

Months

%b - The abbreviated month name ('Jan')
%B - The  full  month  name ('January')
%m - Month of the year (01..12)

Years

%y - Year without a century (00..99)
%Y - Year with century

Misc

%c - The preferred local date and time representation
%x - Preferred representation for the date alone, no time
%X - Preferred representation for the time alone, no date
%Z - Time zone name
%% - Literal '%' character