您的位置:首页 > 移动开发 > IOS开发

日期比较

2014-07-09 15:26 141 查看
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]];






-------------------------------------------比较两个日期的大小:


 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 = [NSString
stringWithFormat:@"%@",[showDic
objectForKey:@"endDate"]]; //开始日期
    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]) {
        NSLog(@"日期相同");
    }else{
        if([r isEqualToDate:newDate]) {
            NSLog(@"未过期");
            // [self.myPayedOrders addObject:ar];
        }else{
            NSLog(@"已过期");
            [cellBackGround setHidden:NO];
            // [self.myFinishedOrders addObject:ar];
        }
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息