Skip to content
instance method

DateTime#as_json

(*untyped) -> ::Hash[::String, ::String | ::Integer | ::Float]
as_json(*)

Methods DateTime#as_json and DateTime.json_create may be used to serialize and deserialize a DateTime object; see Marshal.

Method DateTime#as_json serializes self, returning a 2-element hash representing self:

Example
require 'json/add/datetime'
x = DateTime.now.as_json
# => {"json_class"=>"DateTime", "y"=>2023, "m"=>11, "d"=>21, "sg"=>2299161.0}

Method JSON.create deserializes such a hash, returning a DateTime object:

Example
DateTime.json_create(x) # BUG? Raises Date::Error "invalid date"
See also .xmlschema #deconstruct_keys .strptime #hour also in 3.4 · 3.3 · 3.2 · 3.1 · 3.0