2012-06-28 51 views
0

我有一個字符串表示存儲在軍事時間的日期。我想在12小時內在標籤中顯示此字符串。這裏是我的代碼片段:NSDateFormatter將字符串轉換爲日期始終軍事時間

NSTimeZone *timeZone = [NSTimeZone localTimeZone]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setTimeZone:timeZone]; 
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss"]; 
NSLog(@"Current Date: %@", [dateFormat stringFromDate:[NSDate date]]); 
NSLog(@"Sent date: %@",[myPlanData valueForKey:@"planDate"]); 
NSDate *aDate =[dateFormat dateFromString:[myPlanData valueForKey:@"planDate"]]; 
NSLog(@"Converted date is: %@",aDate); 
NSString *planDateString = [dateFormat stringFromDate:aDate]; 
NSLog(@"The converted date string is: %@",planDateString); 
planDateLabel.text=planDateString; 

輸出是:

當前日期:06月28日10時08分48秒 - (?所以我的日期格式正確顯示)

發送日期:06月30日20時47分34秒 - (這是正在發送的值)

轉換日期爲: - (!這裏是它打破)(空)

的轉換日期字符串: (null)


如果我我的日期格式改變爲

[DATEFORMAT setDateFormat:@ 「MM/DD/YYYY HH:MM:SS」];

一切順利,但我最終顯示軍事時間。我只是想convet,要12小時的時間,並顯示在標籤

回答

1

那麼這裏是我是如何結束的修復它

NSTimeZone *timeZone = [NSTimeZone localTimeZone]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setTimeZone:timeZone]; 
[dateFormat setDateFormat:@"MM/dd/yyyy HH:mm:ss"]; 

NSDateFormatter *dateFormatback = [[NSDateFormatter alloc] init]; 
[dateFormatback setTimeZone:timeZone]; 
[dateFormatback setDateFormat:@"MM/dd/yyyy hh:mm:ss a"]; 

NSLog(@"Current Date: %@", [dateFormat stringFromDate:[NSDate date]]); 
NSLog(@"Sent date: %@",[myPlanData valueForKey:@"planDate"]); 
NSDate *aDate =[dateFormat dateFromString:[myPlanData valueForKey:@"planDate"]]; 
NSLog(@"Converted date is: %@",aDate); 
NSString *planDateString = [dateFormatback stringFromDate:aDate]; 
NSLog(@"The converted date string is: %@",planDateString); 

planDateLabel.text=planDateString; 

不知道這是要做到這一點,但最好的還是正確的方式作品!

相關問題