从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)