我需要在他们的简短模式中获得一周中的所有日子,例如:
sun,mon,etc ..
我试过这个:
NSDateFormatter * df = [[NSDateFormatter alloc] init];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:[[NSLocale preferredLanguages] objectAtIndex:0]]];
[df setDateFormat:@"c"];
哪个总是给出全名,你怎么得到短名?
答案 0 :(得分:7)
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
NSArray * shortWeeks = [formatter shortWeekdaySymbols];
NSLog(@"%@",shortWeeks);
日志
2015-07-14 17:25:31.470 NewOcTest[9016:286325] (
Sun,
Mon,
Tue,
Wed,
Thu,
Fri,
Sat
)
此外,veryShortWeekdaySymbols
dateFormatter
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
NSArray * shortWeeks = [formatter veryShortWeekdaySymbols];
NSLog(@"%@",shortWeeks);
日志
2015-07-14 17:30:30.686 NewOcTest[9073:290513] (
S,
M,
T,
W,
T,
F,
S
)
答案 1 :(得分:2)
一种选择是使用ccc
[df setDateFormat:@"ccc"];
独立的当地日期 - 使用一个字母表示本地数字值(与“e”相同),三个表示短日期,四个表示全名,五个表示缩写名称,或六个表示短名称名。
请参阅unicode docs
或者使用eee
或E
- 不确定区别是什么。
星期几 - 短日内使用一到三个字母,全名使用四个字母,窄名称使用五个,短名称使用六个。
或
当地的星期几。与E相同,但使用一个或两个字母添加一个数值,该值将取决于一周的本地开始日期。对于这个例子,星期一是一周的第一天。
答案 2 :(得分:1)
一周中的简短3-char风格,如'Mon','Tue','Wed',......
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE"];
NSString *strDate = [formatter stringFromDate:date];
或(对于您的代码)
NSDateFormatter * df = [[NSDateFormatter alloc] init];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:[[NSLocale preferredLanguages] objectAtIndex:0]]];
[df setDateFormat:@"EEE"];
答案 3 :(得分:1)
使用shortWeekdaySymbols,它给出了一个名字数组
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
@autoreleasepool {
NSDateFormatter * df = [[NSDateFormatter alloc] init];
NSLog(@"%@ \n OR \n %@", df.weekdaySymbols, df. df.shortWeekdaySymbols);
}
}
不需要使用任何格式,除非您实际上不是在寻找一周而是在一个日期: How do I get the day of the week with Cocoa Touch?