我有一个字符串,它表示存储在军事时间的日期。我想在 12 小时内将这个字符串显示在标签中。这是我的代码片段:
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;
输出是:
当前日期:2012 年 6 月 28 日 10:08:48 -(所以我的日期格式化程序看起来正确?)
发送日期:06/30/2012 20:47:34 -(这是发送的值)
转换后的日期是:(null)-(这里是中断的地方!)
转换后的日期字符串为:(null)
如果我将日期格式更改为
[dateFormat setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
一切都很顺利,但我最终会显示军用时间。我只是想将其转换为 12 小时时间并显示在标签中