How to know the current weekday?

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 problem。 puts timetoday 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

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

Or if you want abbreviated version you can use

Date::ABBR_DAYNAMES[Time.now.wday]

Boško