これから日付を変換しようとしています:
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
。これは正しい日付です。しかし、今では印刷時の出力日付はゼロです!!
何か案は??これはどのように可能ですか??