這是我的代碼。爲什麼NSDate報告錯誤的日期?
NSDate *today = [NSDate date];
NSString *todayString = [[today description] substringToIndex:10];
NSLog(@"Today: %@", todayString);
我得到2011-07-19而不是2011-07-18。任何想法可能是什麼問題?
這是我的代碼。爲什麼NSDate報告錯誤的日期?
NSDate *today = [NSDate date];
NSString *todayString = [[today description] substringToIndex:10];
NSLog(@"Today: %@", todayString);
我得到2011-07-19而不是2011-07-18。任何想法可能是什麼問題?
NSDate的description
方法以UTC爲單位返回時間,如果您在夏令時期間在美國東部時區,則比您的掛鐘時間晚4個小時。換句話說,您的時間晚上10點是UTC的第二天凌晨2點。
修復此問題的常用方法是改用NSDateFormatter,並在必要時明確設置時區。
爲我修好了。謝謝。 – David
NSDate *today = [NSDate date];
NSDateFormatter *dateFormat = [[[NSDateFormatter alloc] init] autorelease];
[dateFormat setDateFormat:@"dd-MM-yyyy"];
NSString *dateString = [dateFormat stringFromDate:today];
謝謝,這正是我所做的。 – David
什麼是您所在的時區以及您獲取日期的設備的時區是什麼? –
也會驗證操作系統中服務器的實際系統時間。 – Randy
我的時區設置爲東部時區。我Mac上的當前日期是「2011年7月18日星期一」。另外,我正在模擬器中運行我的應用程序。 – David