How can I get a ruby Time object that represents the start of the day on a particular date in a given timezone.
date = Date.today
date.to_time.in_time_zone('America/New_York').beginning_of_day
Currently outputs => 2011-11-02 00:00:00 -0400
Time.now.in_time_zone('Asia/Shanghai').beginning_of_day
Currently outputs => 2011-11-03 00:00:00 +0800
date = Date.today
date.to_time.in_time_zone('Asia/Shanghai').beginning_of_day
Currently outputs => 2011-11-02 00:00:00 +0800
I ended up using the #local
method on the ActiveSupport::TimeZone
object passing components of the Date
object.
# Get example date and time zone...
date = Date.today
timezone = ActiveSupport::TimeZone['America/New_York']
# Get beginning of day for date in timezone
timezone.local(date.year, date.month, date.day)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With