我有一个将日期返回UTC格式的方法
DateTime.strptime(json_doc["assetFields"]["originalAirDate"], "%Y-%m-%d").iso8601
但如果json_doc["assetFields"]["originalAirDate"] is nil
,则会返回上述错误。
我需要在ruby中使用.try()方法,以便它不会抛出异常。
我不确定如何使用Datetime实现。
请帮忙。
答案 0 :(得分:1)
可能在nil
适合您时设置默认日期:
default_date = "2014-01-01"
DateTime.strptime(json_doc["assetFields"]["originalAirDate"] || default_date, "%Y-%m-%d").iso8601
答案 1 :(得分:0)
你真的应该在把它扔到那里之前准备一个值:
date = json_doc["assetFields"].try(:[], "originalAirDate")
date ? Date.strptime(date, "%Y-%m-%d").iso8601 : ''
答案 2 :(得分:0)
您可以使用内联救援,以便在发生异常时获取默认值:
DateTime.strptime(json_doc["my_date_field"], "%Y-%m-%d").iso8601 rescue ''