[objective-c]iPhone 日期格式从中文到英文

发布时间: 2016/10/2 2:36:23
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

从我我正在中国日期在 iPhone 的语言环境,我需要将其转换为使用 NSDateFormatter 的英语。我试过使用下面的代码,但在响应中,我得到汉语词也。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh-Hans"]];
[dateFormatter setDateFormat:@"yyyy年MM月dd日'"];
NSDate *dateTmp  = [dateFormatter dateFromString:@"2014年3月14日"]; // getting date from string with english locale
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
NSString *strDate = [dateFormatter stringFromDate:dateTmp]; // getting string from date with spanish locale
NSLog(@"%@",strDate);

这是输出,它显示 2014年3月14日,但是我不需要中的汉语词。

解决方法 1:

你必须也给英语作为下面的日期甲酸

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh-Hans"]];
[dateFormatter setDateFormat:@"yyyy年MM月dd日'"];
NSDate *dateTmp  = [dateFormatter dateFromString:@"2014年3月14日"]; // getting date from string with english locale
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *strDate = [dateFormatter stringFromDate:dateTmp]; // getting string from date with spanish locale

NSLog(@"Your OUTPUT IS : %@",strDate);

您的输出是︰ 2014年-03-14

官方微信
官方QQ群
31647020