5

次のような日付文字列があります。

2013-01-25 00:00:00 -0500
2013-01-22 00:00:00 -0700
2013-01-26 00:00:00 -0200

を使用して、これらの種類の文字列を使用しNSDateFormatterて を作成したいと考えています。NSDateフォーマッタを使用して日付の最初の部分 ( ) を取得する方法は知っていますが、オフセット部分 ( 、など)2013-01-25 00:00:00を指定する方法はわかりません。日付文字列の開始を取得するコードは次のとおりです。-0500-0200

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd HH':'mm':'ss"];
NSString *dateString = @"2013-01-25 00:00:00"; // <-------- Truncated ----
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date: %@", date);

どうすればその-0500部品で動作させることができますか? 試してみSSSZましたが、うまくいきませんでした(null日付を指定しました)。

4

1 に答える 1

9

これを試して:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd HH':'mm':'ss ZZZ"];
NSString *dateString = @"2013-01-25 00:00:00 -0500";
NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"Date: %@", date);

私は得る:

日付: 2013-01-25 05:00:00 +0000

ちなみに、すべての日付形式の標準は次のとおりです。http://unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns

于 2013-05-02T12:51:09.020 に答える