iphone sdk:如何将阿拉伯语日期格式转换为英语?

Rah*_*yas 6 iphone objective-c nsdate iphone-sdk-3.0

我正在开发一个应用程序,其中我将当前日期保存在数据库中但当我的应用程序以阿拉伯语运行时,当前日期格式更改为阿拉伯语.我的意思是日期格式应该像这样09/02/2010但数字转换阿拉伯语数字.即使我的应用程序运行阿拉伯语,我如何将它们转换回英文数字?

And*_*ant 11

通常,最好将日期保存在不可知类型中,并且只在必须显示时才格式化日期.常见的格式是存储自1970年以来的秒数或您选择的其他日期.

例如,以下代码将显示为本地用户正确格式化的当前时间.

NSDate* now = [NSDate dateWithTimeIntervalSinceNow:0];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
NSString* localDateString = [formatter stringFromDate];
[formatter release];
Run Code Online (Sandbox Code Playgroud)

但是,如果您确实具有特定于语言环境的格式的日期,则可以再次使用formatter类进行转换.例如

NSString* localDate = @"09/02/2010";  // assume this is your string

NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
NSDate* date = [formatter dateFromString: localDate];
[formatter release];
Run Code Online (Sandbox Code Playgroud)

对于使用任何类型的特定于语言环境的数据(日期,货币,度量),格式化程序类是您的朋友.

  • 查看NSFormatter setLocale - 您可以传入任何您想要的语言环境标识符. (3认同)

Rah*_*yas 6

我发现它在这里我这样做了

NSDate *CurrentDate = [NSDate date];
NSDateFormatter *Formatter=[[NSDateFormatter alloc] init];
NSLocale *indianLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[Formatter setLocale:indianLocale];
[Formatter setDateFormat:@"dd/MM/yyyy"];
NSString *FormattedDate=[Formatter stringFromDate:CurrentDate];
[indianLocale release];
[Formatter release];
Run Code Online (Sandbox Code Playgroud)