Last Updated: February 25, 2016
·
1.459K
· nicolaslazartekaqui

Ruby - Formatting the date

Assuming you need to modify the format of the output of a date

Date.current
# Mon, 25 Mar 2013

You can modify the format of the output using the directives as parameter in function strftime .

Example of directives

%a  #The abbreviated weekday name (Sun).
%A  #The full weekday name (Sunday).
%b  #The abbreviated month name (Jan).
%B  #The full month name (January).
%c  #The preferred local date and
    #time representation.
%d  #Day of the month (01 to 31).
%H  #Hour of the day, 24-hour clock (00 to 23).
%I  #Hour of the day, 12-hour clock (01 to 12).
%j  #Day of the year (001 to 366).
%m  #Month of the year (01 to 12).
%M  #Minute of the hour (00 to 59).
%p  #Meridian indicator (AM or PM).
%S  #Second of the minute (00 to 60).
%U  #Week number of the current year, 
    #starting with the first Sunday as the first 
    #day of the first week (00 to 53).
%W  #Week number of the current year,
    #starting with the first Monday as the first
    #day of the first week (00 to 53).
%w  #Day of the week (Sunday is 0, 0 to 6).
%x  #Preferred representation for the date alone,
    #no time.
%X  #Preferred representation for the time alone,
    #no date.
%y  #Year without a century (00 to 99).
%Y  #Year with century.
%Z  #Time zone name.
%%  #Literal % character.

Using the function strftime

Date.current.strftime "%d/%m/%Y"
# 25/03/2013

Date.current.strftime "Day %d"
# Day 25

You can use this function in Date, DateTime and Time classes.