How to know the current weekday?


#1

I failed to find what is the weekday by following codes:

timetoday = Time.now

if timetoday =~ /Fri/
puts “Friday”
end

Please help to analysis what is the probleme$B!#e(B
puts timetoday
It will display: Fri Jun **** 2009
but it is not true for: timetoday =~ /Fri/


#2

On Jun 5, 12:01 am, jnxgn removed_email_address@domain.invalid wrote:

It will display: Fri Jun **** 2009
but it is not true for: timetoday =~ /Fri/

Instances of Time do not implement a =~ which does that. When you run
Time.now at the console it gets converted to a string (and that string
has a =~ method which behaves as you expect). Converting your time to
a string would sort of work but you really shouldn’t do that - just
examine the value of timetoday.wday

Fred


#3

From what Fred mentioned, you can also use timetoday.wday
to get the corresponding day name from the Date::DAYNAMES
Array constant.

Try this and see what you get:

puts Date::DAYNAMES[timetoday.wday]

Franz


#4

Or if you want abbreviated version you can use

Date::ABBR_DAYNAMES[Time.now.wday]

Boško