2

ユーザーが好む日付形式を知るにはどうすればよいですか? 電話のローカル設定からそれを読み取る方法はありますか? ユーザーは日付を「dd/mm/yyyy」または「mm/dd/yyyy」のどちらの形式で読み取ることを好みますか?

前もって感謝します。

4

7 に答える 7

13

NSDateFormatter を使用しますが、(形式ではなく) スタイルを設定して、ユーザーのロケール形式を使用するようにします。

たとえば、NSDateFormatter を作成し、そのように構成します

[dateFormatter setDateStyle:NSDateFormatterShortStyle];

(他の国では dd/mm/yy である mm/dd/yy タイプの日付の場合)

于 2009-09-03T08:53:09.850 に答える
3

CFDateFormatter は、いくつかの日付と時刻の書式スタイル (短、中、長、および完全) を定義します。また、コンポーネントの出力を抑制するために使用できる「なし」スタイルも定義します。スタイルの使用法は、「日付形式スタイルの使用」に示されています。日付と時刻のスタイルは、正確な形式を指定するものではなく、ロケール、ユーザー設定、およびオペレーティング システムのバージョンによって異なります。正確な形式が必要な場合は、CFDateFormatterSetFormat 関数を使用して形式文字列を変更します (「日付形式文字列の使用」を参照)。</p>

CFDateFormatter

トリックを行う必要があります。

于 2009-04-25T12:46:22.443 に答える
2

日付をフォーマットする前にロケール設定が必要な場合に備えて、次のように NSLocale を使用する必要があります。

NSLocale *locale = [NSLocale currentLocale];

これには、現在のロケール設定に関する多数の情報が含まれています。詳細については、ドキュメントを参照してください。

于 2009-09-03T09:03:33.867 に答える
2

ユーザーが好む形式を知るには、 [[dateFormatter locale] localeIdentifier] を使用しました。en_US が返された場合は、日付が mm/dd/yyyy 形式であることを意味し、それ以外の場合は dd/mm/yyyy 形式であることを意味します。dateFormatter は NSDateFormatter クラスのインスタンスです。

于 2009-09-30T13:42:18.210 に答える
2

あなたは本当に正確なフォーマットを知りたいですか、それともそれに従って NSDate と NSString オブジェクトの間で変換したいですか? 後者の場合、 NSDateFormatter があなたの担当であり、ユーザーの好みに合わせて適切なフォーマットを自動的に生成します。

于 2009-04-26T10:34:22.533 に答える
1

「mm/dd / yyy」形式を使用している国は米国だけではありません。また、「dd / mm/yyyy」だけが代替手段ではありません。

詳細については、 http://en.wikipedia.org/wiki/Calendar_date#List_of_the_world_locations_by_date_format_in_useを参照してください。

于 2010-01-22T01:03:20.730 に答える
-1

iOS 6以降、「localizedStringFromDate」を使用できます

NSString*localizedDate = [NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterShortStyle];
于 2013-08-07T11:48:23.360 に答える