ios - iOS中的日期格式/错误处理问题
<p><p>我有一个通过网络服务调用接收数据的 iOS 应用。然后一切正常,没有任何警告,应用程序开始崩溃。我已将其追溯到格式化日期时间值的行。 Web 服务最初返回的日期值如下:</p>
<pre><code>yyyy-MM-dd'T'HH:mm:ss.sssz
</code></pre>
<p>然后,在没有警告的情况下,日期格式更改为:</p>
<pre><code>yyyy-MM-dd'T'HH:mm:ss
</code></pre>
<p>并导致异常。我已经纠正了这个问题,但是,Web 服务提供了来自全国数千个报告时间敏感数据的站点的数据。因此,我不能保证某些 Web 服务调用仍不会返回旧的日期格式。</p>
<p>来自 C# 和 Java 背景,我解决此问题的常规方法是使用 try/catchblock 。然而,在异常处理方面,Objective-C 是另一种动物。我不确定如何处理不同的日期格式。这是我当前进行日期时间格式化的代码</p>
<pre><code>-(NSString*)stringDateFormatter:(NSString*)dateToFormat{
NSDateFormatter *df = [ init];
;
//;
];
NSDate *newDateValue = ;
;
NSString *retValue = ;
return retValue;
}
</code></pre>
<p>处理两种不同的日期时间格式的最佳做法是什么?谢谢! V</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>如果您可能会获得两种不同格式之一的日期字符串,请先尝试一种。如果得到 <code>nil</code> 结果,请尝试其他格式。</p>
<pre><code>NSDateFormatter *df = [ init];
;
NSDate *newDateValue = ;
if (!newDateValue) {
;
newDateValue = ;
}
</code></pre>
<p>顺便说一句 - 无需将时区设置为本地时区。这已经是默认设置了。</p></p>
<p style="font-size: 20px;">关于ios - iOS中的日期格式/错误处理问题,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/18150549/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/18150549/
</a>
</p>
页:
[1]