iPhone日期格式从中文到英文

时间:2014-03-14 10:42:52

标签: ios iphone objective-c nsdate

从我的语言环境我在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日的输出,但我不需要中文字。

3 个答案:

答案 0 :(得分:2)

您还必须提供以下英语的日期格式

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

答案 1 :(得分: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

    NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
    [dateFormatter2 setDateFormat:@"yyyy MM dd'"];
    [dateFormatter2 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
    NSString *strDate = [dateFormatter2 stringFromDate:dateTmp]; // getting string from date with spanish locale
    NSLog(@"%@",strDate);

答案 2 :(得分:0)

您可以使用next方法根据模板获取本地化格式:

NSString *neededFormat = [NSDateFormatter dateFormatFromTemplate:@"MMMM dd, yyyy" options:0 locale:[NSLocale currentLocale]];