0

たとえば、日付文字列があります。

2012-04-09T23:57:44.070Z

私の日付形式は次のとおりです。

[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];

しかし、それはゼロを返しています。日付形式の何が問題になっていますか? ありがとう

4

1 に答える 1

5

-エスケープとについてそれほど積極的になる必要はありません:。また、秒の文字が間違っています。以下を使用する必要があります。

NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
[f setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];

NSLog(@"%@", [f dateFromString:@"2012-04-09T23:57:44.070Z"]);

これはログに記録します:

2012-04-09 23:57:44 +0000

日付フォーマッタでタイムゾーンを設定しない場合、GMT タイムゾーンではなく、デバイスが現在使用しているタイムゾーンを意味すると想定されます (これは が意味するものですZ)。

于 2012-04-10T00:07:04.813 に答える