2011-03-31 13 views
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

有什麼我做錯了嗎?我已經嘗試了ce作爲格式字符串。我還在模擬器和設備上再次檢查日期/時間是否正確(以及相同)。

編輯:我已經改變了我的代碼以下,這似乎是現在的工作始終(我得到5我的設備和模擬器都我猜測,這是因爲我的設備是使用一些其他的日曆。 ?

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDateComponents *weekdayComponents = [gregorian components:(NSWeekdayCalendarUnit) fromDate:[NSDate date]]; 
NSInteger todayDayNum = [weekdayComponents weekday]; 
NSLog(@"%d", todayDayNum); 
+0

是的,不同日曆中的第一天的星期可能不一樣。 – Fourj 2011-03-31 06:45:25

回答

0

嘗試與 玩[公曆setFirstWeekday:1]; //週日== 1,週六== 7等

或區域設置 - [陽曆的setLocale:[NSLocale currentLocale]; 因爲它也影響到

相關問題