2010-05-18 72 views
0

我有一個NSString類型的時間。我想知道這一天,但我覺得有些奇怪。我怎樣才能得到正確的日期?

 NSString *strTime = @"2010-05-14 16:00:01"; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
NSDate *oldDate = [formatter dateFromString:strTime]; 

unsigned int flags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; 
NSCalendar* calendar = [NSCalendar currentCalendar]; 

NSDateComponents* components = [calendar components:flags fromDate:oldDate]; 
int day = [components day]; 

的NSString當* strTime = @ 「2010-05-14 16時00分01秒」 天爲15,當NSString的* strTime = @ 「2010-05-14 16點○○分00秒」 的一天是14.我想知道爲什麼?

回答

2

你在加州(可能),日期對象是格林尼治標準時間。使用NSCalendar意味着日期將從您的區域設置轉換爲GMT。

+0

是的,我忘記設置區域 – Haley 2010-05-18 09:46:20

相關問題