Forum: Ruby on Rails How to know the current weekday?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
jnxgn (Guest)
on 2009-06-05 11:17
(Received via mailing list)
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/
Frederick C. (Guest)
on 2009-06-05 11:22
(Received via mailing list)
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
Franz S. (Guest)
on 2009-06-05 11:28
(Received via mailing list)
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
Bosko I. (Guest)
on 2009-06-05 12:54
(Received via mailing list)
Or if you want abbreviated version you can use

Date::ABBR_DAYNAMES[Time.now.wday]

Boko
This topic is locked and can not be replied to.