force all JSON dates to be in UTC
This commit is contained in:
parent
2a206fdd72
commit
a6f852943e
|
@ -2,17 +2,21 @@
|
||||||
# this file must be loaded after the JSON gem
|
# this file must be loaded after the JSON gem
|
||||||
|
|
||||||
class Time
|
class Time
|
||||||
# this date format sorts lexicographically
|
# This date format sorts lexicographically
|
||||||
# and is compatible with Javascript's new Date(time_string) constructor
|
# and is compatible with Javascript's new Date(time_string) constructor.
|
||||||
# note that sorting will break if you store times from multiple timezones
|
# Note this this format stores all dates in UTC so that collation
|
||||||
# I like to add a ENV['TZ'] = 'UTC' to my apps
|
# order is preserved. (There's no longer a need to set ENV['TZ'] = 'UTC'
|
||||||
|
# in your application.)
|
||||||
|
|
||||||
def to_json(options = nil)
|
def to_json(options = nil)
|
||||||
%("#{strftime("%Y/%m/%d %H:%M:%S %z")}")
|
u = self.utc
|
||||||
|
%("#{u.strftime("%Y/%m/%d %H:%M:%S +0000")}")
|
||||||
end
|
end
|
||||||
|
|
||||||
# this works to decode the outputted time format
|
# Decodes the JSON time format to a UTC time.
|
||||||
# copied from ActiveSupport
|
# Based on Time.parse from ActiveSupport. ActiveSupport's version
|
||||||
|
# is more complete, returning a time in your current timezone,
|
||||||
|
# rather than keeping the time in UTC. YMMV.
|
||||||
# def self.parse string, fallback=nil
|
# def self.parse string, fallback=nil
|
||||||
# d = DateTime.parse(string).new_offset
|
# d = DateTime.parse(string).new_offset
|
||||||
# self.utc(d.year, d.month, d.day, d.hour, d.min, d.sec)
|
# self.utc(d.year, d.month, d.day, d.hour, d.min, d.sec)
|
||||||
|
|
Loading…
Reference in a new issue