我希望每個人都能獲得特定區域設置的本週第一天。例如,在美國的一週,星期一從週日開始,其他國家開始。獲取objective-c中的第一天和最後一天
我想在每個人的星期一開始,這是因爲我想用這個SQLQuery。
我有這樣的:
NSDate *weekDay = [NSDate date]; //any date in the week in which to calculate the first or last weekday
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorian components:NSWeekdayCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:weekDay];
[components setDay:([components day]-([components weekday]-[[NSCalendar currentCalendar] firstWeekday]))];
NSDate *firstWeekday = [gregorian dateFromComponents:components];
NSDate *lastWeekday = [[gregorian dateFromComponents:components] dateByAddingTimeInterval:7 * 24 * 3600 - 1];
NSLog(@"first - %@ \nlast - %@", firstWeekday, lastWeekday);
如果您所在區域本週星期一開始,但如果與週日開始不回我想要什麼,工作正常。
所以,想象今天是2015年10月11日 星期日區域將返回星期11,最後一天的第一天,17 隨着週一區域將返回5日當週的第一天,最後一天11
我想在我的應用程序執行的任何地方返回第二個選項。
謝謝。 此致敬禮。
作爲一個英國人的第一天,我一週上週一開始... – Wain
更新,影響到美國的,但問題是相同... – Miguel
您是否嘗試將日曆的語言環境設置爲systemLocale或設置firstWeekday? – Willeke