当我尝试从文本字段获取日期和时间的值时,我在控制台上得到了错误的值。日期和时间是两个文本字段
NSString *datestring = self.date.text;
NSString *timestring = self.time.text;
NSString *combined = [NSString stringWithFormat:@"%@ %@",datestring,timestring];
NSLog(@"%@",combined);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMMM dd yyyy HH:mm:ss"];
NSDate *dates = [dateFormat dateFromString:combined];
NSLog(@"%@",dates);
答案 0 :(得分:1)
不要依赖NSDate
description
方法来提供您想要的日期,它实际上只是用于调试。而是使用NSDateFormatter
方法stringFromDate:
。
NSString *combinedDateString = @"may 2 2000 02:00 AM";
NSLog(@"combinedDateString: %@", combinedDateString);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMMM dd yyyy hh:mm aa"];
NSDate *date = [dateFormat dateFromString:combinedDateString];
NSString *recoveredDateString = [dateFormat stringFromDate:date];
NSLog(@"recoveredDateString: %@", recoveredDateString);
NSLog输出:
combinedDateString:may 2 2000 02:00 AM
recoverDateString:2000年5月2日02:00 AM
根据需要选择不同的显示格式。
注意:“HH”表示24小时,“hh”表示12小时时间。
请参阅ICU Formatting Dates and Times了解日期格式。
答案 1 :(得分:0)
你的格式化程序错误,必须是:
[dateFormat setDateFormat:@"MMMM dd yyyy hh:mm aa"];
您已经开设了一个主题: I didn't get correct time when using time formatter