我正在尝试将字符串解析为DateTime,当我尝试删除年份时,我遇到了错误:
undefined method `year' for "Monday, Aug 25, 10:30":String
控制器
dates = []
temps = []
dt = []
@data['data'].flatten.each do |data|
dates << data.keys
temps << data.values
end
dates.flatten.each do |date|
dt << DateTime.parse(date).strftime("%A, %b %d, %H:%M")
end
JSON
{"status": "ok", "data": [{"2014-08-25 10:30:00": 12.6}]}
答案 0 :(得分:0)
您的示例不明确,因为您没有展示您使用年份方法。但请注意,您已从strftime字符串中遗漏了%y
。我建议在rails控制台中玩游戏以获得您正在寻找的方法。例如:
[1] pry(main)> DateTime.parse("2014-08-25 10:30:00")
Mon, 25 Aug 2014 10:30:00 +0000
[2] pry(main)> DateTime.parse("2014-08-25 10:30:00").year
2014
[3] pry(main)> DateTime.parse("2014-08-25 10:30:00").strftime("%A, %b %d %y, %H:%M")
"Monday, Aug 25 14, 10:30"
[4] pry(main)> DateTime.parse("2014-08-25 10:30:00").strftime("%A, %b %d %y, %H:%M").year
NoMethodError: undefined method `year' for "Monday, Aug 25 14, 10:30":String
from (pry):4:in `<main>'