現在の日付をデータベースに保存するアプリケーションで作業していますが、アプリをアラビア語で実行すると、現在の日付形式がアラビア語に変更されます。つまり、日付形式はこの 09/02/2010 のようにする必要がありますが、数字はアラビア数字に変換されます。では、アプリがアラビア語で実行されている場合でも、それらを英語の数字に戻すにはどうすればよいでしょうか?
6317 次
4 に答える
11
一般に、日付を不可知論的なタイプに保ち、表示する必要がある場合にのみフォーマットするのが最善です。一般的な形式は、1970 年以降の秒数、または選択した別の日付を保存することです。
たとえば、次のコードは、ローカルのユーザー向けに正しくフォーマットされた現在の時刻を表示します。
NSDate* now = [NSDate dateWithTimeIntervalSinceNow:0];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
NSString* localDateString = [formatter stringFromDate];
[formatter release];
ただし、ロケール固有の形式の日付がある場合は、再びフォーマッタ クラスを使用して変換できます。例えば
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];
あらゆる種類のロケール固有のデータ (日付、通貨、測定値) を扱う場合は、フォーマッタ クラスが役に立ちます。
于 2010-02-09T09:06:31.087 に答える
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];
于 2010-02-09T14:55:59.153 に答える
2
これを試して
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];
于 2010-02-09T10:31:57.003 に答える