eXit_door 2013-07-24 06:46 采纳率: 0%
浏览 2307

转换NSString到NSDate

从数据库中获取NSString后,需要添加日期,比如添加10//12/15/45/60。怎么实现?

NSString *expiryDateStr = [NSString stringWithFormat:@"%@",[[assets valueForKeyPath:@"assetrewards.expirydate"] objectAtIndex:0]];
        NSLog(@" date %@",expiryDateStr);    
        //DATE FORMATTER
        NSDateFormatter *dateFormat = [ [NSDateFormatter alloc] init];
        [dateFormat setDateFormat:@"dd/MM/yyyy"];
        NSDate *_date = [dateFormat dateFromString:expiryDateStr];
       [dateFormat setDateFormat:[NSString stringWithFormat:@"dd MMM yyyy HH:mm"]];
        [dateFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:3600*5]];
        NSLog(@"date format %@",dateFormat);
        NSLog(@"Date: %@", _date);

获得输出结果:

date 07/10/2013
date format <NSDateFormatter: 0x9f9d4a0>
Date: 2013-10-06 18:30:00 +0000

日期变了,不知道哪出错了,如果是正确日期,应该怎么添加日子?

  • 写回答

2条回答

  • xinyoulingxi1_tong 2013-07-24 07:30
    关注
    NSString *expiryDateStr = @"07/10/2013";
    
    NSLog(@" date %@",expiryDateStr);
    
    expiryDateStr=[expiryDateStr stringByAppendingString:@" 00:00:00 +000"];
    //DATE FORMATTER
    
    NSDateFormatter *dateFormat = [ [NSDateFormatter alloc] init];   
    [dateFormat setDateFormat:@"dd/MM/yyyy HH:mm:ss Z"];
    NSDate *_date = [dateFormat dateFromString:expiryDateStr];
    [dateFormat setDateFormat:[NSString stringWithFormat:@"dd MMM yyyy HH:mm"]];
    [dateFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    
    NSDateComponents *components = [[NSCalendar currentCalendar] 
    components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit |NSHourCalendarUnit | NSMinuteCalendarUnit |NSSecondCalendarUnit fromDate:_date];
    NSInteger day = [components day]+1; // U can add as per your requirement
    
    
    [components setDay:day];
    NSDate *NextDate = [[NSCalendar currentCalendar] dateFromComponents:components];
    
    NSLog(@"Next Date: %@", NextDate);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试