1
我試圖確定我的應用程序中一週的當前日期。要做到這一點,我有:NSDateFormatter - 模擬器與硬件上不同的一天
NSDateFormatter* dayDateFormatter = [[NSDateFormatter alloc] init];
[dayDateFormatter setDateFormat:@"e"];
int todayDayNum = [[dayDateFormatter stringFromDate:[NSDate date]] intValue];
[dayDateFormatter release];
NSLog(@"%d", todayDayNum);
今天是目前對我來說是週四,而在我的iPhone我得到的結果值4
。但是,在模擬器上我得到了5
。
有什麼我做錯了嗎?我已經嘗試了c
和e
作爲格式字符串。我還在模擬器和設備上再次檢查日期/時間是否正確(以及相同)。
編輯:我已經改變了我的代碼以下,這似乎是現在的工作始終(我得到5
我的設備和模擬器都我猜測,這是因爲我的設備是使用一些其他的日曆。 ?
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents = [gregorian components:(NSWeekdayCalendarUnit) fromDate:[NSDate date]];
NSInteger todayDayNum = [weekdayComponents weekday];
NSLog(@"%d", todayDayNum);
是的,不同日曆中的第一天的星期可能不一樣。 – Fourj 2011-03-31 06:45:25