2017-09-27 8 views
0

날짜가 (NSDate),문자열에서 잘못 된 NSDate 변환

"EEEE, dd MMM YYYY"형식으로 변환되므로 출력됩니다. "월요일 5 월 22 일 2017 년은"

그러나이 때 변환이 문자열이이 코드를

NSDateFormatter * formatter = [NSDateFormatter new]; 
[formatter setDateFormat:@"EEEE,dd MMM YYYY"]; 
    NSDate *currentDate = [formatter dateFromString:“Monday,22 May 2017”]; 

잘못된 출력을 사용하여 잘못된 날짜

을주고 데이트하는 + 2016년 12월 25일 18시 30분 0초입니다 0000

누구든지 도와 드릴 수 있습니까?

+0

날짜처럼 될 것입니다 것은 더 적절한 형식이 없습니다, –

답변

2

날짜가 더 적절한 형식이 없습니다, 그러나 여기에서는 "YYYY"@ 대신 YYYY

yyyy을 사용하여 주 기반 연도입니다.

@ "yyyy"는 보통 연도입니다. 샘플

[formatter setDateFormat:@"EEEE,dd MMM yyyy"]; 

NSDateFormatter * formatter = [NSDateFormatter new]; 
[formatter setDateFormat:@"EEEE,dd MMM yyyy"]; 
NSDate *currentDate = [formatter dateFromString:@"Monday,22 May 2017"]; 
+0

네 문제는 "YYYY"입니다. 하지만 원래의 날짜보다는 정확한 시간을 알 수는 없습니다. –

+0

@Rushi - 날짜가 정확한 답변을 생성하지 않습니다. 문자열로 다시 변환하면 원래 응답 –

+1

을 제공합니다. "원래 날짜가 아닌 정확한 시간을 계산할 수 없습니다."NSString에 시간이 없었기 때문에 기본적으로 자정을 넣습니다. . 그러나 당신이 GMT에서 5시 30 분에 인도에있는 것 같아요, 이것은 18시 30 분을 설명합니다. – Larme

-1

문제점이 라인 [formatter setDateFormat:@"EEEE,dd MMM YYYY"];이다.

yyyy은 연도를 지정하고 YYYY은 연도 (주)를 지정합니다. 따라서 YYYY 대신 을 사용해야합니다. 그래서 코드가이

[formatter setDateFormat:@"EEEE,dd MMM yyyy"];

+0

왜이 downvote? –

+0

나는 downvote를 지정하지 않는다 –

+0

나는 downvote하는 이유를 여기에서 보지 않는다. –