ios - NSDate 没有使用 NSDateFormatter 正确转换
<p><p>我有以下 NSDateFormatter:</p>
<pre><code>NSDateFormatter* dateFormatter = [ init];
;
NSLocale *usLocal = [ initWithLocaleIdentifier:@"en_US"];
;
</code></pre>
<p>我有一个 while 循环,它从给定的开始日期开始,并将日期加一,直到达到特定的结束日期。</p>
<pre><code>NSDate *d = start;
while(YES){
NSString *td = ;
NSLog(@"converted date %@ to %@",d,td);
...adds a date and re-initializes d
}
</code></pre>
<p>我得到如下输出:</p>
<pre><code>2011-06-11 17:10:18.678 ListOf100 converted date 2011-05-31 00:00:00 +0000 to May. 30, 2011
2011-06-11 17:10:18.687 ListOf100 converted date 2011-06-01 00:00:00 +0000 to May. 31, 2011
2011-06-11 17:10:18.717 ListOf100 converted date 2011-06-02 00:00:00 +0000 to Jun. 1, 2011
</code></pre>
<p>如您所见,所有日期都没有正确转换。他们都休息了 1 天。为什么会发生这种情况?我该如何解决?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>在我看来,日期创建的时区与格式化程序所在的时区不同。</p>
<pre><code>NSDate * d = ;
// Arbitrary date
NSDateFormatter* dateFormatter = [ init];
;
NSLocale *usLocal = [ initWithLocaleIdentifier:@"en_US"];
;
//!!!: Set time zone
];
NSString *td = ;
NSLog(@"converted date %@ to %@",d,td);
</code></pre>
<p>产量:</p>
<blockquote>
<p>2011-06-11 22:44:01.642 TimeZoneFormatter converted date 1970-01-10 06:13:20 +0000 to Jan. 10, 1970</p>
</blockquote></p>
<p style="font-size: 20px;">关于ios - NSDate 没有使用 NSDateFormatter 正确转换,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/6318603/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/6318603/
</a>
</p>
页:
[1]