2012-03-09 3 views
0

에있는 NSString 변환하는 방법 내가있는 NSDate이있는 NSDate

NSString *update_time= @"2012-03-09 14:54:30.0"; 

// convert to date 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 

[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss'.0'"]; 
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"Australia/Melbourne"]]; 
NSDate *dte = [dateFormat dateFromString:update_time ]; 
NSLog(@"Date: %@", dte); 

이있는 NSString 날짜를 변환하려하지만 난 날짜 받고 있어요 :

+0

'YYYY'대신 'yyyy' 시도 – Novarg

답변

2

는 "GMT + 4"유효한 (NULL) 아니다 시간대 이름. 대신 timeZoneForSecondsFromGMT:를 사용

//... 
NSTimeZone *timeZone = [NSTimeZone timeZoneForSecondsFromGMT:4 * (60 * 60)]; 
[dateFormat setTimeZone:timeZone]; 
//... 

timeZoneWithName:를 사용하려는 경우, 당신은 [NSTimeZone knownTimeZoneNames]를 사용하여 유효한 시간대 이름의 목록을 얻을 수 있습니다. 그 모든 양식 "유럽/베를린 '등

2
NSString *update_time= @"2012-03-09 14:54:30.0"; 

포인터

1

당신은 포인터를 놓치고 누락있다.

NSString * update_time= @"2012-03-09 14:54:30.0"; 

// convert to date 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 

[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss'.0'"]; 
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT+4"]]; 
NSDate *dte = [dateFormat dateFromString:update_time ]; 
NSLog(@"Date: %@", dte);