我希望每个人都能获得特定区域设置的本周第一天。例如,在美国的一周,星期一从周日开始,其他国家开始。获取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