0

この文字列「2013-05-05T00:00:00Z」を NSDate に変換し、再び NSDate を Nsstring に変換する必要があります。さまざまな形式のスタイルを試しましたが、成功しませんでした。

私はすでにチェックしました。

NSString からの NSDate

NSDate を SQL Server の日時形式に変換する

ありがとう。

// for getting string for Advance search  

-(NSDate*) doGetDateFromStringGSearch :(NSString*) dateStr 
{

NSDateFormatter * outputFormatter4 = [[[NSDateFormatter alloc ] init ] autorelease ];

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[outputFormatter4 setLocale:locale];

//[outputFormatter4 setDateFormat: @"yyyy-MM-dd'T'HH:mm:ss:SSS"];
//[outputFormatter4 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
 [ outputFormatter4 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss:Z" ];
 //[ outputFormatter4 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss':00Z'" ];

NSString * inputString2 = dateStr;
NSDate * inputRecivedToDate = [outputFormatter4 dateFromString:inputString2 ];
NSLog(@"doGetDateFromString  %@", inputRecivedToDate);

return [[inputRecivedToDate retain] autorelease];
}
4

2 に答える 2

3

フォーマッタ文字列を次のように変更します。

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

完全なコード:

NSDateFormatter *dateFormatter=[NSDateFormatter new];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'hh:mm:ss'Z'"];
NSDate *date=[dateFormatter dateFromString:@"2013-05-05T00:00:00Z"];

NSLog(@"%@",date);
于 2013-06-15T06:23:32.830 に答える
1

私は NSDateFormatter を@"yyyy-MM-dd'T'HH:mm:ssZZZZ"format で何年も使用してきましたが、少数のデバイス (おそらく 1% 未満) で失敗し、nil を返すことがわかりました。

したがって、フォールバックとして、私はこのライブラリを使用してきました: https://github.com/keithpitt/ISO8601DateFormatterそして今、ISO8601 日付形式の解析に関する問題は見られません。

ライブラリは と の両方dateFromString:をサポートしていstringFromDate:ます。

于 2013-06-15T06:28:30.923 に答える