繁体   English   中英

TypeError:无法使用DateTime ruby​​将nil转换为String

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM