如何把服务器下发的时间字符串转换为想要的格式

定义公用变量:

NSDateFormatter* DateFormater;
NSCalendar *calendar;
NSInteger flags;
NSDateComponents *comps;

初始化这些代码:

DateFormater = [[NSDateFormatter alloc] init];
[DateFormater setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
flags = NSCalendarUnitYear |NSCalendarUnitMonth |NSCalendarUnitDay |NSCalendarUnitWeekday |NSCalendarUnitHour |NSCalendarUnitMinute |NSCalendarUnitSecond;
comps = [[NSDateComponents alloc] init];

获得mm-DD时间:

NSString* str = @"2018-04-20 13:30:00";
NSDate *date =[DateFormater dateFromString:str];
comps = [calendar components:flags fromDate:date];
printf("date is: %02ld-%02ld\n",[comps month],[comps day]);

获得MM:HH时间段

NSString* str = @"2018-04-20 13:30:00";
NSDate *date =[DateFormater dateFromString:str];
comps = [calendar components:flags fromDate:date];
printf("date is: %02ld-%02ld\n",[comps month],[comps day]);
NSInteger h1 = [comps hour];
NSInteger m1 = [comps minute];
    
str = @"2018-04-20 14:30:00";
date =[DateFormater dateFromString:str];
comps = [calendar components:flags fromDate:date];
NSInteger h2 = [comps hour];
NSInteger m2 = [comps minute];
printf("time during is: %02ld:%02ld - %02ld:%02ld\n",h1,m1,h2,m2);

结果


6731523940712_.pic.jpg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,295评论 1 44
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 【第62天】 陈式太极拳的运动特点是:缠绕折叠、松活弹抖、快慢相间、蓄发互变。 精、气、神的培养,逐步达到刚柔、蓄...
    UniverseArtwork阅读 199评论 0 0
  • 我是误入大地的一股溪流,泥垢慢慢阻挡我前进的路,本以为逐渐干枯,可是我终归汇入大海。 我是一株误落凡间的小草,世人...
    我说过的你来听阅读 206评论 0 0
  • 洛羽趴在地上,这种对决他改变无法加入,所以只能默默地注视前方三人,等待时机。 爱丽丝一掌将威斯克拍裂之后就大步朝着...
    诸葛皮皮虾阅读 201评论 0 0