Erw*_*wan 8 iphone objective-c weekday
为了得到一周的日子,我使用:
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
NSArray *weekdays = [dateFormatter shortWeekdaySymbols];
Run Code Online (Sandbox Code Playgroud)
平日给我一个包含日期名称的数组,但它从周日开始.出于某些原因,我希望此数组在周一或周日开始,具体取决于设备的本地化设置.
有办法吗?
has*_*seg 14
您可以从具有当前语言环境-firstWeekday的NSCalendar对象的方法获取当前语言环境的第一个工作日的从1开始的索引.然后,您可以相应地修改周名称数组:
// get week day names array
NSArray *weekdays = self.shortWeekdaySymbols;
// adjust array depending on which weekday should be first
NSUInteger firstWeekdayIndex = [NSCalendar currentCalendar].firstWeekday - 1;
if (firstWeekdayIndex) {
NSRange firstRange = NSMakeRange(firstWeekdayIndex, weekdays.count - firstWeekdayIndex);
NSRange lastRange = NSMakeRange(0, firstWeekdayIndex);
NSArray *firstArray = [weekdays subarrayWithRange:firstRange];
NSArray *lastArray = [weekdays subarrayWithRange:lastRange];
weekdays = [firstArray arrayByAddingObjectsFromArray:lastArray];
}
NSLog(@"%@", weekdays);
Run Code Online (Sandbox Code Playgroud)
我没有iPhone SDK,但是AFAIK这些API应该全部可用,并且行为与OS X上的行为相同.
| 归档时间: |
|
| 查看次数: |
3022 次 |
| 最近记录: |