34
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"dd-MM-YYYY HH:mm"];        
    [formatter setTimeZone:[NSTimeZone systemTimeZone]];

選択した場合MM、月を数値で取得します:09-05-2012 15:33 選択した場合MMMM、月を単語で取得します:09-May-2012 15:33

私が欲しかったのは、3文字の略語の月でした.
JanuaryJan

この場合、文字が 3 つしかない May が正しいです。

4

7 に答える 7

56

あなたは試しましたか:[formatter setDateFormat:@"dd-MMM-YYYY HH:mm"];そして[formatter stringFromDate:someNSDate];

于 2012-05-09T15:00:04.103 に答える
30

2つのものを間違った順序で取得すると、期待どおりの出力が得られません。

[formatter setDateFormat:@"MMM"];
[formatter setDateStyle:NSDateFormatterMediumStyle];

次と同じ結果は得られません:

[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setDateFormat:@"MMM"];

(これらの2つのスニペットの2つ目は、私のアプリで9月10月などを喜んで配布しています)

于 2012-08-21T16:47:41.090 に答える
7

スイフト

let dateFormatter = NSDateFormatter()

dateFormatter.dateFormat = "dd MMM yyyy HH:mm"

dateFormatter.stringFromDate(NSDate())
于 2016-02-09T10:07:10.450 に答える
3

これは、3 文字の月の出力を生成する際に Swift 4 で動作する簡素化されたソリューションです。

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM YYYY, HH:mm:ss"

そして確認するには:

print(dateFormatter.string(from: Date())) // 20 Mar 2018, 23:41:40

前述のようMMMに、目的の月の出力を取得するための正しい構文です。

于 2018-03-21T06:43:47.323 に答える
1

実際には、次のようにdateStyleをmedium(つまり、「Jan」、「Feb」など)に設定できます。

[formatter setDateStyle:NSDateFormatterMediumStyle];
于 2012-05-09T15:03:45.023 に答える