HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 将NSDate拆分为日期和时间大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将我从Web服务收到的NSDate拆分为两个不同的日期,以便为每天的部分填充tableView事件.我认为执行后者最简单的方法是创建一个查找唯一日期的获取请求.

所以我尝试创建一个NSDate“day”但将时间组件设置为00:00.我想知道是否有更有效的方法来实现这一目标:

if (eventoItemList.count > 0) {
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

        NSDateFormatter *dayFormatter = [[NSDateFormatter alloc] init];
        [dayFormatter setDateFormat:@"yyyy-MM-dd"];

        for (G@L_48_5@mLElement *eventoItem in eventoItemList) {
            BOEvent *event = [[BOEvent alloc] init];
            NSString *idEventStr = [[[eventoItem elementsForName:@"id"] objectATindex:0] stringvalue];                       
            NSString *name = [[[eventoItem elementsForName:@"titulo"] objectATindex:0] stringvalue];
            NSString *type = [[[eventoItem elementsForName:@"tipo"] objectATindex:0] stringvalue];
            NSString *descr = [[[eventoItem elementsForName:@"descripcion"] objectATindex:0] stringvalue];
            NSString *address = [[[eventoItem elementsForName:@"direccion"] objectATindex:0] stringvalue];
            NSDate *date = [dateFormatter dateFromString:[[[eventoItem elementsForName:@"fecha"] objectATindex:0] stringvalue]];
            NSString *action =  [[[eventoItem elementsForName:@"accion"] objectATindex:0] stringvalue];

            [event setIdEvent:[idEventStr IntegerValue]];
            [event setName:name];
            [event setType:type];
            [event setDesc:descr];
            [event setAddress:address];
            [event setAction:action];
            [event setDate:date];
            [event setDayDate:[dayFormatter dateFromString:[dayFormatter StringFromDate:date]]];
            [events addObject:event];
        }
    }

谢谢您的帮助.

解决方法

用于将NSDate拆分为两个NSDate的示例代码(仅限日期,仅限时间)

NSDate *date = [NSDate date];
    NSCalendar *gregorian = [NSCalendar currentCalendar];

    unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;
    NSDateComponents *comps = [gregorian components:unitFlags fromDate:date];    
    NSDate *dateOnly = [gregorian dateFromComponents:comps];

    unitFlags = NSHourCalendarUnit | NSminuteCalendarUnit |  NSDayCalendarUnit;
    comps = [gregorian components:unitFlags fromDate:date];    
    NSDate *timeOnly = [gregorian dateFromComponents:comps];

    NSLog(@"%@ = \n\tDate: %@ \n\tTime: %@",date,dateOnly,timeOnly);

用于在两个NSStrings中输出NSDate的示例代码

NSDate *date = [NSDate date];

    NSDateFormatter *f = [[NSDateFormatter alloc] init];
    [f setDateStyle:NSDateFormatterFullStyle];
    [f settimestyle:NSDateFormatterNoStyle];
    NSString *dateOnly = [f StringFromDate:date];

    [f settimestyle:NSDateFormatterFullStyle];
    [f setDateStyle:NSDateFormatterNoStyle];
    NSString *timeOnly = [f StringFromDate:date];

    NSLog(@"%@ = \n\tDate: %@ \n\tTime: %@",timeOnly);

大佬总结

以上是大佬教程为你收集整理的ios – 将NSDate拆分为日期和时间全部内容,希望文章能够帮你解决ios – 将NSDate拆分为日期和时间所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。