我怎么知道给定日期是哪一天?

时间:2013-09-12 16:00:35

标签: ios nsdate nscalendar

例如,给定日期13/09/2013(星期六),我怎么知道代码中的哪一天? 在NSCalendar中有一些方法或者NSdate可以为我计算这个吗?

2 个答案:

答案 0 :(得分:3)

您可以使用DateFormatter将特定日期的星期几作为字符串。您还可以使用NSDateComponents获取表示星期几的整数值。

请参阅此SO帖子和答案......

https://stackoverflow.com/a/4269211

答案 1 :(得分:1)

您也可以(但我不确定它是否会更好)从日历中获取工作日组件和名称。

NSDate *yourDate     = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *weekdayComponent = 
    [calendar components:NSWeekdayCalendarUnit
                                    fromDate:yourDate];

NSString *dayName = calendar.weekdaySymbols[weekdayComponent.weekday-1];

NSLog(@"today is %@", dayName); // Output: today is Thursday