iOS NSDateformatter 问题 - dateFromString 无法按预期正常工作
<p><p>以下代码段将给出意外的输出:</p>
<h1>片段:</h1>
<pre><code> NSString* testDateStr = [ initWithString:@"2010-04-04 19:11:11"];
NSDateFormatter *dateFormatter = [ init];
;
NSLog(@"'%@'", testDateStr);
NSLog(@"'%@'", );
</code></pre>
<h1>输出:</h1>
<blockquote>
<blockquote>
<p><strong>'2010-04-04 19:11:11'</strong></p>
<p><strong>'2010-04-04 09:11:11 +0000'</strong></p>
</blockquote>
</blockquote>
<p>请注意生成日期的时间小时是错误的。我在这里做错了什么吗?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>NSDateFormatter 默认为本地时区。当您打印 NSDate 对象的 <code>description</code> 时,它会以 GMT 打印(注意末尾的 +0000)。此代码完全按预期工作。 (您本地时区的 19:11:11 与 GMT 的 09:11:11 相同。)</p>
<p>您始终可以通过调用 <code>setTimeZone:</code> 来覆盖 NSDateFormatter 的时区。</p></p>
<p style="font-size: 20px;">关于iOS NSDateformatter 问题 - dateFromString 无法按预期正常工作,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/7539466/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/7539466/
</a>
</p>
页:
[1]