iphone sdk:how для преобразования арабского формата даты в английский язык?

Я работаю над приложением, в котором я сохраняю Текущую дату в базе данных, но когда мое выполнение приложения на арабском языке формат текущей даты изменяется на арабский язык. Я подразумеваю, что формат даты должен быть похожим на этот 02.09.2010, но цифры преобразовываются в арабские цифры. Таким образом, как я преобразовываю их назад в английские цифры даже если мое приложение, работающее на арабском Языке?

6
задан willcodejavaforfood 9 February 2010 в 14:58
поделиться

3 ответа

В общем случае лучше всего хранить даты в агностическом типе и форматировать их только тогда, когда они должны быть отображены. Обычным форматом является хранение количества секунд с 1970 года или другой даты по вашему выбору.

Например, следующий код отобразит текущее время, правильно отформатированное для локального пользователя.

NSDate* now = [NSDate dateWithTimeIntervalSinceNow:0];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
NSString* localDateString = [formatter stringFromDate];
[formatter release];

Однако если у вас есть дата в локальном формате, вы можете использовать класс 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];

Для работы с любым типом локально-специфических данных (даты, валюта, измерения) классы formatter - ваш друг.

11
ответ дан 8 December 2019 в 12:59
поделиться

я нашел его здесь и сделал вот так

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];
6
ответ дан 8 December 2019 в 12:59
поделиться

Try this

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"EST"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:localDate];
1
ответ дан 8 December 2019 в 12:59
поделиться