2016-04-28 15 views
2

日付文字列が2016-04-27T08:06:07.531Zの形式で、2016.04に変換したい.27。私は次のコードを試しました日付文字列(2016-04-27T08:06:07.531Z)を特定の日付形式に変換するdd.MM.YYYY

NSString *dateString = @"2016-04-27T08:06:07.531Z"; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-ddTHH:mm:ss.Z"]; 

NSDate *dateReceived = [dateFormatter dateFromString:dateString]; 
[dateFormatter setDateFormat:@"dd.MM.YYYY"]; 

NSString *dateReq = [dateFormatter stringFromDate:dateReceived]; 

NSLog(@"Date Req:%@",dateReq); 

私はNSLogのコンソールでnullになっています。どんな助けもありがとう。ありがとう。

+0

。この回答を確認する - http://stackoverflow.com/questions/23140448/change-date-from-one-format-to-another-using-nsdateformatter – nanjunda

+0

こちらをご覧ください:http://iosdevcenters.blogspot.com/2016/ 03/nsdateformatter-in-swift.html –

+0

@nanjunda:2つの 'NSDateFormatter'を使う必要はありません。 1つは十分であるはずです。作者がデバッグに関する十分な情報を与えていないということです: 'dateReceived'はnilですか?これは、エラーが存在することを意味するためです。言い換えれば、情報が不足しています。 – Larme

答えて

2

使用

NSString *dateString = @"2016-04-27T08:06:07.531Z"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

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

NSDate *dateReceived = [dateFormatter dateFromString:dateString]; 
          // 2016.04.27 
[dateFormatter setDateFormat:@"yyyy.MM.dd"]; 

NSString *dateReq = [dateFormatter stringFromDate:dateReceived]; 

NSLog(@"Date Req:%@",dateReq); 

enter image description here

+0

最初のフォーマッタでは、[Apple Technical Q&A 1480](https://developer.apple.com/library/ios/qa/qa1480/_index.html)に従って 'locale'を指定するようにしてください。 – Rob

+0

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

+0

@PavanMoreいいえ、「.zzz」ではありません。それは '.SSS'です。 – Rob

1

ようPlzはちょうどあなたの日付フォーマッタの日付形式を変更

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

代わりの

[dateFormatter setDateFormat:@"yyyy-MM-ddTHH:mm:ss.Z"]; 
0

それは彼だろうこれを試してくださいLPあなたは -

NSString *date = @"2011-02-27T08:06:07.531Z"; 
NSDateFormatter *dFormat = [[NSDateFormatter alloc] init]; 

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

NSDate *dReceive = [dFormat dateFromString:dateString]; 

[dFormat setDateFormat:@"yyyy-MM-ddTHH:mm:ss.Z"]; 

NSString *dateReq = [dateFormatter stringFromDate:dReceive]; 

としてだけで日付フォーマットに

[dFormat setDateFormat:@"yyyy-MM-ddTHH:mm:ss.Z"]; 
0

使用の日付形式を変更する:あなたは2つの日付フォーマッタを使用する必要が[dFormat setDateFormat:@"yyyy-MM-ddTHH:mm:ss.Z"];