我在一个模型对象上有一个DateTime属性。
示例数据:"2018-08-28T01:00:00.000+00:00"
我正在基于DateTime属性创建一个新的JSON对象,但是我只想将此部分放入其中2018-08-28
我也想抓住小时部分并将其放入JSON对象中。例如01
目前,我所传递的是这个JSON。
{"date":"2018-08-25T18:00:00.000+00:00"}
我想要
{"date":"2018-08-25", "hour":"01"}
答案 0 :(得分:4)
将字符串解析为有效的DateTime
实例,然后使用DateTime#strftime
以所需的任何格式打印回该字符串:
require 'datetime'
DateTime.
iso8601("2018-08-28T01:00:00.000+00:00").
strftime('%Y-%m-%d')
#⇒ "2018-08-28"
要获取日期和一个小时,可以这样做:
date, hour =
DateTime.
iso8601("2018-08-28T01:00:00.000+00:00").
strftime('%Y-%m-%d,%H').
split(',')
#⇒ ["2018-08-28", "01"]
要获取所需的哈希值:
%w|date hour|.
zip(
DateTime.
iso8601("2018-08-28T01:00:00.000+00:00").
strftime('%Y-%m-%d,%H').
split(',')
).
to_h
#⇒ {
# "date" => "2018-08-28",
# "hour" => "01"
# }