0

次のようなNSStringを変換しようとしています。

@"00:00 15 September 2012"

NSDateに。

Unicode形式が何である必要があるのか​​理解できません。私はこれを試しています:

@"HH:mm dd MMMM YYYY"
@"HH:mmddMMMMYYYY"

私はここの規則に従おうとしましたが、役に立ちませんでした。


編集:

ポールの答えはうまくいきます(軍の時間の問題を除いて)。私は次のようなフォーマットテンプレートを作成する方法のAppleの例を使用しようとしていました:

NSString *formatString = [NSDateFormatter dateFormatFromTemplate:@"hh:mm dd MMM yyyy" options:0
                                                              locale:[NSLocale currentLocale]];

NSDateFormatter* fmt = [NSDateFormatter new];
[fmt setDateFormat:formatString];

これにより、すべてがnullを吐き出します。

ただし、これを行うと:

NSDateFormatter* fmt = [NSDateFormatter new];
[fmt setDateFormat:@"hh:mm dd MMM yyyy"];

すべてが世界で順調です。私の唯一の推測は、NSLocaleがシミュレーターで機能しないということですか?

4

1 に答える 1

1

次のようなものが必要です。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"HH:mm dd MMM yyyy";
dateFormatter.timeZone = [[NSTimeZone alloc] initWithName:@"GMT"];

NSLog(@"%@", [dateFormatter dateFromString:@"00:00 15 September 2012"]);
于 2012-09-14T23:19:00.330 に答える