5

私の知る限り、日付形式はロケールによって異なります。現在の日付のデバイスのローカル設定から日付形式を読み取る方法はありますか?

  1. 日付形式が「dd/MM/yyyy」か「MM/dd/yyyy」か。
  2. 時刻の形式は「h:mm a」などです。
  3. AM/PM テキストは「AM」または「PM」です。

サードパーティのライブラリを購入する余裕はありません。Apple クラスを使用してこれを実行できるかどうか教えてください。

編集:

フォーマットを設定したくありません。ロケールに基づいてデバイスから取得したいだけです。

たとえば、ここ私の国では、日付の形式は dd/MM/yyyy で、単語の一部は MM/dd/yyyy です。この形式を取得したいと考えています。

どんな答えでも大歓迎です。

4

5 に答える 5

9

これは単純な修正にすぎないと思いました。しかし、この質問に対するいくつかのクールな回答を見て、興味を持ちました。これが私の解決策です。

これには NSDateFormatter を使用し、スタイルを必要な形式に設定できます

NSDateFormatterShortStyle   
NSDateFormatterMediumStyle
NSDateFormatterLongStyle

詳細については、ドキュメントをご覧ください

以下はあなたのためのスニペットです。

    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateStyle:NSDateFormatterShortStyle];
    NSString *dateformat = [dateFormatter dateFormat]; //M/d/yy
    NSString *amtext = [dateFormatter AMSymbol];       //AM
    NSString *pmtext = [dateFormatter PMSymbol];       //PM

    dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
    NSString *timeformat = [dateFormatter dateFormat];   //h:mm a

ユーザーのロケール形式が使用されます。問題が解決することを願っています。

于 2013-05-13T12:19:13.447 に答える