我的格式为:Jun 22, 2015, 01.30PM IST
我无法在NSDate中转换它。
我正在使用此格式进行转换:MMM dd, yyyy, hh.mma zzzz
当我使用NSLog时,我得到null。
此外,我想查找当前时间与此时间之间的分钟数。我怎样才能解决这两个问题。
NSDate *date = [dateFormatter dateFromString:[dateValue objectAtIndex:indexPath.row]];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"MMM dd, yyyy, hh.mma zzzz";
NSLog(@"%@", [formatter dateFromString:[dateValue objectAtIndex:indexPath.row]]);
答案 0 :(得分:1)
您的格式实际上是MMM d, yyyy, h.ma zzzz
我使用this cheatsheet作为NSDateFormatter。
第二部分:
NSTimeInterval distanceBetweenDates = [date1 timeIntervalSinceDate:date2];
double numberOfMinutes = distanceBetweenDates / 60;
答案 1 :(得分:0)
程序将是这样的:
NSString *_stringDate = @"Jun 22, 2015, 01.30PM IST";
NSDateFormatter *_dateFormatter = [[NSDateFormatter alloc] init];
_dateFormatter.dateFormat = @"MMM dd, yyyy, hh.mma z";
NSDate *_parsedDate = [_dateFormatter dateFromString:[_stringDate stringByReplacingOccurrencesOfString:@"IST" withString:@"+0530"]];
注意:"IST"
可能不是解析器可以解释的时区,因此您可能需要在某些情况下将其替换为等效值,以小时为单位"+0530"
。
NSCalendar *_calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
NSCalendarUnit _unit = NSCalendarUnitMinute;
NSDateComponents *_componenets = [_calendar components:_unit fromDate:[NSDate date] toDate:_parsedDate options:0];
NSInteger _differenceInMinutes = _componenets.minute;
注意:差异也可以是零,负值或正值。