module ActionView::Helpers::DateHelper

def select_day(date, options = {}, html_options = {})

select_day(5, prompt: 'Choose day')
# generic prompt.
# Generates a select field for days with a custom prompt. Use prompt: true for a

select_day(my_date, field_name: 'due')
# that is named 'due' rather than 'day'.
# Generates a select field for days that defaults to the day for the date in my_date

select_day(5, use_two_digit_numbers: true)
# Generates a select field for days that defaults to the number given, but displays it with two digits.

select_day(5)
# Generates a select field for days that defaults to the number given.

select_day(my_date)
# Generates a select field for days that defaults to the day for the date in my_date.

my_date = Time.now + 2.days

Override the field name using the :field_name option, 'day' by default.
If you want to display days with a leading zero set the :use_two_digit_numbers key in +options+ to true.
The date can also be substituted for a day number.
Returns a select tag with options for each of the days 1 through 31 with the current day selected.
def select_day(date, options = {}, html_options = {})
  DateTimeSelector.new(date, options, html_options).select_day
end