菜鸟教程小白 发表于 2022-12-13 09:09:21

iOS NSDateformatter 问题 - dateFromString 无法按预期正常工作


                                            <p><p>以下代码段将给出意外的输出:</p>

<h1>片段:</h1>

<pre><code>    NSString* testDateStr = [ initWithString:@&#34;2010-04-04 19:11:11&#34;];
    NSDateFormatter *dateFormatter = [ init];
    ;
    NSLog(@&#34;&#39;%@&#39;&#34;, testDateStr);
    NSLog(@&#34;&#39;%@&#39;&#34;, );
</code></pre>

<h1>输出:</h1>

<blockquote>
<blockquote>
    <p><strong>&#39;2010-04-04 19:11:11&#39;</strong></p>
   
    <p><strong>&#39;2010-04-04 09:11:11 +0000&#39;</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]
查看完整版本: iOS NSDateformatter 问题 - dateFromString 无法按预期正常工作