【发布时间】:2015-05-20 21:43:59
【问题描述】:
我有一个 iOS 应用程序,它需要根据当天设置几个不同的日期标签。我正在使用NSDate 和NSDateFormatter 来执行此操作。但是有一些我不确定的事情:如果用户的 iOS 设备的语言/本地化设置为英语以外的其他内容,那么我的 if 语句会检查当前是“星期一”还是“星期二”,停止工作?
这是我的代码:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyyMMdd";
NSDate *date = [NSDate date];
dateFormatter.dateFormat = @"EEEE";
NSString *dayString = [[dateFormatter stringFromDate:date] capitalizedString];
NSLog(@"Day: %@", dayString);
if ([dayString isEqualToString:@"Monday"]) {
}
else if ([dayString isEqualToString:@"Tuesday"]) {
}
else if ([dayString isEqualToString:@"Wednesday"]) {
}
else if ([dayString isEqualToString:@"Thursday"]) {
}
else if ([dayString isEqualToString:@"Friday"]) {
}
else if ([dayString isEqualToString:@"Saturday"]) {
}
else if ([dayString isEqualToString:@"Sunday"]) {
}
【问题讨论】:
-
stackoverflow.com/questions/9874503/… 不比较字符串。不是世界上每个人都有“星期一”……蒙塔格?隆迪?月牙?
-
或至少将格式化程序的语言环境设置为 en_US_POSIX
-
@MarcB 您的评论是问题的基础。 OP 询问非英语语言环境以及工作日名称会有所不同的事实。
标签: ios objective-c cocoa-touch date nsdate