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

    xiaoxiao2025-07-12  14

    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];

    }

    }

    转载请注明原文地址: https://ju.6miu.com/read-1300621.html
    最新回复(0)