我有一個NSDate對象,並且必須創建一個標籤,用於指示星期幾,如'星期一','星期二','星期三'等簡短的3字符風格,並且本地化爲任何短代表語言。如何獲得作爲字符串的NSDate的本地化日期?
日期格式化程序EEE有3個字符,但是如何轉換爲可能只有一個字符的中文等語言?
我有一個NSDate對象,並且必須創建一個標籤,用於指示星期幾,如'星期一','星期二','星期三'等簡短的3字符風格,並且本地化爲任何短代表語言。如何獲得作爲字符串的NSDate的本地化日期?
日期格式化程序EEE有3個字符,但是如何轉換爲可能只有一個字符的中文等語言?
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE"];
NSString *strDate = [formatter stringFromDate:date];
[formatter release];
//Commented out the following line as weekday can be of one letter (requirement changed)
//strDate = [strDate substringToIndex:3]; //This way Monday = Mon, Tuesday = Tue
這將打印你所需要的:
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEEE"];
NSString *day = [formatter stringFromDate:date];
[formatter release];
if ([day length] > 3) day = [day substringToIndex:3];
NSLog(@"%@", day);
「EEE」是否適用於所有地區? –
@ProudMember更新了我的答案。如果一天的字符串更長,然後3個字符,然後它被裁剪。 GL – Nekto
夥計們請停止戰鬥。我的問題還沒有完全解答。我詢問了本地化方面,但沒有得到答案。 –
要使用正確的語言環境,你會想用+ dateFormatFromTemplate:options:locale:
方法來設置的NSDateFormatter
實例的dateFormat
。
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = [NSDateFormatter dateFormatFromTemplate:@"EEE" options:0 locale:[NSLocale currentLocale]];
NSLog(@"Weekday using %@: %@", [[NSLocale currentLocale] localeIdentifier], [dateFormatter stringFromDate:date]);
// Test what Chinese will look like without changing device locale in settings
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
NSLog(@"Weekday using zh_CN: %@", [dateFormatter stringFromDate:date]);
此打印:
平日使用EN_US:週四
平日使用zh_CN的:週四
是,'NSDateFormatter'它。您需要格式化程序對象的'setDateFormat:'。使用此鏈接獲取unicode日期格式模式。 http://unicode.org/reports/tr35/tr35-6.html#Date%5FFormat%5FPatterns – Desdenova
聖經是** [NSDateFormatter類參考](https://developer.apple.com/library/mac/ #documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html)**,_Managing Weekday Symbols_部分。 – holex
感謝downvote。我不明白管理平日符號部分。它讓我設置週日符號。所以呢? –