web-dev-qa-db-ja.com

NSStringからNSDateへのyyyy-MM-dd'T'HH:mm:ss.SSS + 05:30形式

私が取得している私の日付文字列は、このフォーマットの2014-01-08T21:21:22.737 + 05:30です。 NSDateにそれをどのように付与しますか?

私は試した:

       NSString *currentDateString = @"2014-01-08T21:21:22.737+05:30";
       [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS+05:30"];
       NSDate *currentDate = [dateFormatter dateFromString:currentDateString];

       NSLog(@"CurrentDate:%@", currentDate);

Nilを返します。何かご意見は?

14
kagmanoj

このコードを使用すると、dateFormatterが正しく機能していました。

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];

NSString *currentDateString = @"2014-01-08T21:21:22.737+05:30";
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];        
NSDate *currentDate = [dateFormatter dateFromString:currentDateString];

NSLog(@"CurrentDate:%@", currentDate);

ハッピーコーディング!!!!!!!!!!。

22
Javid

日付形式には、タイムゾーンがリテラルとして含まれています:yyyy-MM-dd'T'HH:mm:ss.SSS+05:30+05:30それはタイムゾーン定義です。 Zで解析する必要があります。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
NSString *currentDateString = @"2014-01-08T21:21:22.737+05:30";
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];
NSDate *currentDate = [dateFormatter dateFromString:currentDateString];

NSLog(@"CurrentDate:%@", currentDate);
13
rckoenes
NSString *p=@"2014-01-08T21:21:22.737+05:30";


NSDateFormatter *dateformat=[[NSDateFormatter alloc]init];

[dateformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];

NSDate *datefor=[dateformat dateFromString:p];

[dateformat setDateFormat:@"MM-dd-yyyy hh:mm a"];

NSString *dateStr=[dateformat stringFromDate:datefor];


NSDate *datetype=[dateformat dateFromString:dateStr];
5
Lait kumar

以下のようにコードでdateFormatterを初期化する必要があると思います。常に初期化しないと、常にnull値が返されるからです。

dateFormatter=[[NSDateFormatter alloc]init];
2
Hussain Shabbir

次のようにdateFormatを設定します

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

そして、はい、NSLogは特定の日付を印刷しています。!!!

コーディングを楽しむ

2
Sahil Mahajan