HH:SS 的 nsstring 到 nsdate

nsstring for HH:SS into nsdate

NSString *dateString = @"06:30 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy HH:MM:SS a"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];

当我记录 "dateFromString" 时,它给了我零。

预期结果是:

 19-10-2016 06:30

请帮忙

可以试试这个,可能会解决你的问题

NSDate *today = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *urDateComponents = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:today];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"h:mm a"];

NSString *dateString = @"06:30 AM";
NSDate *urTime = [formatter dateFromString:dateString];

NSDateComponents *urTimeComponents = [[NSCalendar currentCalendar] components:(NSCalendarUnitHour | NSCalendarUnitMinute ) fromDate:urTime];

urDateComponents.hour = urTimeComponents.hour;
urDateComponents.minute = urTimeComponents.minute;

NSDate *date = [calendar dateFromComponents:urDateComponents];

[formatter setDateFormat:@"dd-MM-yyyy hh:mm a"];
NSString *dateStr = [formatter stringFromDate:date];

输出:

Printing description of dateStr: 19-10-2016 06:30 AM

编码愉快...