私が取得している私の日付文字列は、このフォーマットの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を返します。何かご意見は?
このコードを使用すると、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);
ハッピーコーディング!!!!!!!!!!。
日付形式には、タイムゾーンがリテラルとして含まれています: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);
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];
以下のようにコードでdateFormatter
を初期化する必要があると思います。常に初期化しないと、常にnull値が返されるからです。
dateFormatter=[[NSDateFormatter alloc]init];
次のようにdateFormatを設定します
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];
そして、はい、NSLogは特定の日付を印刷しています。!!!
コーディングを楽しむ