我正在尝试从此转换日期:
2012-06-26 12:00:00 +0000
对此:
Jun 26, 2012 12:00:00 AM
如果我使用此代码,它可以工作:
NSString *inputString = @"2012-06-25 12:00:00 +0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss z"];//input
NSDate *date = [formatter dateFromString:inputString];
[formatter setDateFormat:@"MMM dd, yyyy hh:mm:ss a"];
NSString *outputString = [formatter stringFromDate:date];
NSLog(@"Output Date is: %@" , outputString);
并且打印的日期是正确的:Jun 26, 2012 12:00:00 AM
然而,当我不对日期进行硬编码时,事情变得非常奇怪,而是使用一个函数来获取它。编码 :
NSString *inputString2 = [self.selectedDate description];
NSLog(@"%@",inputString2);
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss z"];//input
NSDate *date = [formatter dateFromString:inputString2];
[formatter setDateFormat:@"MMM dd, yyyy hh:mm:ss a"];
NSString *outputString = [formatter stringFromDate:date];
NSLog(@"Output Date is: %@" , outputString);
当我在代码的开头打印 inpuString2 变量只是为了确保日期由函数正确传递时,我有这个:2012-06-25 12:00:00 +0000
这是正确的日期。但是现在打印时输出日期为零!
有任何想法吗??这怎么可能??