![](/img/trans.png)
[英]Ruby: `gsub': can't convert nil into String (TypeError)
[英]TypeError: can't convert nil into String with DateTime ruby
我有一种将日期返回为UTC格式的方法
DateTime.strptime(json_doc["assetFields"]["originalAirDate"], "%Y-%m-%d").iso8601
但是,如果json_doc["assetFields"]["originalAirDate"] is nil
则将返回上述错误。
我需要在ruby中使用.try()方法,以便它不会引发异常。
我不确定如何用Datetime实现它。
请帮忙。
也许在nil
为您工作时设置默认日期:
default_date = "2014-01-01"
DateTime.strptime(json_doc["assetFields"]["originalAirDate"] || default_date, "%Y-%m-%d").iso8601
您真的应该准备一个值,然后再将其扔进去:
date = json_doc["assetFields"].try(:[], "originalAirDate")
date ? Date.strptime(date, "%Y-%m-%d").iso8601 : ''
您可以使用内联救援,以在出现异常的情况下获取默认值:
DateTime.strptime(json_doc["my_date_field"], "%Y-%m-%d").iso8601 rescue ''
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.