2012-11-21 46 views
0

可能重複:
NSDateFormatter not giving me correct的NSDate和NSDateFormatter不一致

我使用的NSDate我使用以下方法轉換爲隻日期:

+ (NSDate *) dateOnly:(NSDate *)date 
{ 
    long time = [date timeIntervalSinceReferenceDate]; 
    long timeMod = time % kNumSecondsInDay; 
    NSTimeInterval newTime = time - timeMod; 

    return [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:newTime]; 
} 

這給我預期的結果:

NSLog(@"Due Date:%@", _dueDate); 

- >截止日期:2012年11月21日00:00:00 +0000

然而,當我使用的日期格式,它給了我一天以前:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateStyle:NSDateFormatterShortStyle]; 
    NSString *result = [formatter stringFromDate:_dueDate]; 
    NSLog(@"Result: %@", result); 

- >結果:1​​1/20/12

是什麼給出的?

+1

時區是什麼給。 (重複約100其他「NSDateFormater不起作用」的線程。) –

+0

我看到了問題,謝謝。 – Destron

回答

3

時區。日期是UTC 11/21午夜;如果您的時區在UTC後面,那麼它將是11/20。

+0

我看到問題了,謝謝。 – Destron

相關問題