从NSDate的date名称?

我想在我的iPhone应用程序中显示一天的名字,我没有find解决scheme。 感谢帮助

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEEE"]; NSString *dayName = [dateFormatter stringFromDate:yourDate]; [dateFormatter release]; 

您在用户的语言环境中获取dayName

(检查date格式样本的Unicode标准 )

我find了答案是:

 NSDate *now = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEEE"]; NSLog(@"%@",[dateFormatter stringFromDate:now]); 

谢谢

看看 – [NSCalendar组件:fromDate:]。

一个date本身没有一天,因为它可能在不同的日历(公历,中国等)有不同的日子。

编辑:其实,对不起。 这就是你要做的一天,并以编程方式工作。 如果你只想显示一天,看看NSDateFormatter。

NSDate类别

 + (NSString *)dayNameWith0Monday:(NSInteger)index { static NSDateFormatter * DateFormatter = nil; if (DateFormatter == nil) { DateFormatter = [[NSDateFormatter alloc] init]; [DateFormatter setDateFormat:@"EEEE"]; [DateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; } NSDate * day = [NSDate dateWithTimeIntervalSince1970:((4 * 24 * 60 * 60) + (24 * 60 * 60 * index))]; return [DateFormatter stringFromDate:day]; } 

0将永远是星期一! 如果你需要这样的行为

date和时间处理有很多很好的资源 – 这是我从github上学到的。

@Jilouc在Swift中的回答

 let formatter = DateFormatter.init() formatter.dateFormat = "EEEE" let date = Date.init() //or any date let dayName = formatter.string(from: date)