strftime formats a date with a pattern made from percent codes.

Formatting Dates

formatting_dates.rb
require "date"

format = 
date = Date.new(2025, 7, 4)

formatted = date.strftime(format)
weekday_number = date.wday

puts "format=#{format}"
puts "formatted=#{formatted}"
puts "weekday=#{weekday_number}"
require "date"

format = 
date = Date.new(2025, 7, 4)

formatted = date.strftime(format)
weekday_number = date.wday

puts "format=#{format}"
puts "formatted=#{formatted}"
puts "weekday=#{weekday_number}"
require "date"

format = 
date = Date.new(2025, 7, 4)

formatted = date.strftime(format)
weekday_number = date.wday

puts "format=#{format}"
puts "formatted=#{formatted}"
puts "weekday=#{weekday_number}"
date formatting Numeric date formats are deterministic across locales and environments.