objective-c 中字符串与日期转换和比较

objective-c 中字符串与日期相互转换

1、字符串转换为日期

  NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//实例化一个NSDateFormatter对象
    
    [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设定时间格式,这里可以设置成自己需要的格式
    
    NSDate *date =[dateFormat dateFromString:@"1980-01-01 00:00:01"]; 

2、日期转换为字符串

  NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//实例化一个NSDateFormatter对象
    
    [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设定时间格式,这里可以设置成自己需要的格式

  NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];


objective-c 中字符串与日期相互转换比较

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 

//注意dateFormatter的格式一定要按字符串的样子来,如果不对,转换出来是nill。

//时区格式,可以不用设置
//NSTimeZone *timeZone = [NSTimeZone localTimeZone];
//[formatter setTimeZone:timeZone];

[dateFormatter setDateFormat:@"YYYY/MM/dd"]; //设置日期格式

NSDate *today = [NSDate date]; //当前日期

NSString *date = @"2011/10/05"; //开始日期

NSDate *newDate = [dateFormatter dateFromString:date];  //开始日期,将NSString转为NSDate

NSLog(@"today:%@", [dateFormatter stringFromDate:today]);

NSLog(@"newDate:%@", [dateFormatter stringFromDate:newDate]);//将NSDate转为NSString

//BOOL b = [today isEqualToDate:newDate];//日期相同返回YES

//NSDate *r = [today earlierDate:newDate];//返回较早的那个日期

NSDate *r = [today laterDate:newDate];  //返回较晚的那个日期

if([today isEqualToDate:newDate]) {

[self.myPayedOrders addObject:ar];

NSLog(@"日期相同");

}else{

if([r isEqualToDate:newDate]) {

NSLog(@"未过期");

// [self.myPayedOrders addObject:ar];

}else{

NSLog(@"已过期");

// [self.myFinishedOrders addObject:ar];

}

}


你可能感兴趣的:(ios,ios,ios,NSDate)