Ios 无法获取要显示的星期几
可能重复:Ios 无法获取要显示的星期几,ios,xcode,date,nsdate,Ios,Xcode,Date,Nsdate,可能重复: 我有一个连接到nsstring的uilabel。但是,我试图将nsstring设置为一周中的某一天(周一、周二等)。但每次我运行它,它都不会给我任何东西。我有一种感觉,虽然这是因为我没有得到一个价值,从我的日期。然而,我对xcode还不熟悉,所以我真的不知道自己做错了什么 -(void)viewDidLoad { NSDate *today = [[NSDate alloc] init]; NSCalendar *gregorian = [[NSCalen
我有一个连接到nsstring的uilabel。但是,我试图将nsstring设置为一周中的某一天(周一、周二等)。但每次我运行它,它都不会给我任何东西。我有一种感觉,虽然这是因为我没有得到一个价值,从我的日期。然而,我对xcode还不熟悉,所以我真的不知道自己做错了什么
-(void)viewDidLoad {
NSDate *today = [[NSDate alloc] init];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
// Get the weekday component of the current date
NSDateComponents *weekdayComponents = [gregorian components:NSWeekdayCalendarUnit
fromDate:today];
NSString *dateString = weekdayComponents;
_label.text = dateString;
}
请尝试以下代码:
-(void)viewDidLoad {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"EEEE"];
_label.text = [formatter stringFromDate:[NSDate date]];
}
一个主要问题是,您试图将
NSDateComponents
对象分配给NSString
变量
@JShapiro给出的答案很好。但如果要使用NSDateComponents
,可以执行以下操作:
NSDateComponents *weekdayComponents = [gregorian components:NSWeekdayCalendarUnit fromDate:[NSDate date]];
NSInteger weekday = [weekdayComponents weekday];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSArray *weekdayNames = [formatter weekdaySymbols];
_label.text = weekdayNames[weekday];