2017-04-20 9 views
1

私はこの日付を変換するには21 11月2016 1:53 PM NSDateフォーマッタを目的のCで使用していますか?

NSString *datefromweb = [[tableArray objectAtIndex:indexPath.row ] objectForKey:@"ContentDateTime"]; 

NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init]; 
[dateformatter setDateFormat:@"dd MMM yyyy HH:mm"]; 

NSDate *date1 = [[NSDate alloc] init]; 
date1 = [dateformatter dateFromString:datefromweb]; 
NSLog(@"date1=%@",date1); 
[dateformatter setDateFormat:@"MMM yyyy"]; 

NSString *month1 = [dateformatter stringFromDate:date1]; 
[dateformatter setDateFormat:@"hh:mm a"]; 

NSString *time= [dateformatter stringFromDate:date1]; 
[dateformatter setDateFormat:@"dd"]; 

NSString *day1= [dateformatter stringFromDate:date1]; 

    cell.day.text=day1; 
    cell.monthYear.text=month1; 
    cell.ldatetime.text=time; 

を行います私たちはdatefromweb内の文字列(NSStringの)変数が、datefromstringにならない(NSDate)変数を取得し、私は、日付、時間、月を分離していますどのように日月年の時間を分離したいです、年。

my response is {ContentDateTime = "02 Jul 2016 5:12PM";} 
+0

タイムゾーンを含めない標準のタイムスタンプ形式を使用した方がよいでしょうか? –

+0

'dd MMM yyyy HH:mm'は' 02 Jul 7月20日5:12 PM'と一致しません。まあ、日、月、年の場合はそうだが、時間/分はそうではないようだ。したがって、 'date1'はnilでなければなりません。後は何もするべきではありません。あなたは後で 'hh:mm a'を書いたので、AM/PMを取得する方法は分かっていますか?だから、良いフォーマットは 'dd MMM yyyy hh:mm a'のようなものでした。 – Larme

答えて

0

NSDateComponentsを使用してください。このコードを試してください

NSDateFormatter *formatter = [NSDateFormatter new]; 
[formatter setDateFormat:@"dd MMM yyyy hh:mma"]; 
NSDate *date = [formatter dateFromString:@"02 Jul 2016 5:12PM"]; 
NSCalendar *cal = [NSCalendar currentCalendar]; 
NSDateComponents *comonents = 
[cal components:(NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond 
         ) fromDate:date]; 
NSInteger day = [comonents day]; 
NSInteger month = [comonents month]; 
NSInteger year = [comonents year]; 
NSInteger hour = [comonents hour]; 
NSInteger minutes = [comonents minute]; 
NSInteger seconds = [comonents second]; 
0

私はあなたのコードをご迷惑をおかけしました。ちょうど日付フォーマットを変更してください。

NSDateFormatter *formatter = [NSDateFormatter new]; 
[formatter setDateFormat"dd MMM yyyy hh:mma"]; 
関連する問題