首页 > 代码库 > NSDate 类的总结,全面基础
NSDate 类的总结,全面基础
<span style="font-size:24px;"><span style="font-size:18px;">//1.创建日期对象 //创建的NSDate对象,获得的永远是0时区时间,如果要是求东八区时间,就加8个小时 NSDate *date = [NSDate date]; NSLog(@"%@",date); //创建明天此时的日期(时间间隔都是以秒为单位计算的) NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:24*60*60]; NSLog(@"%@",tomorrow); //创建昨天此时的日期(- 表示从现在开始向前面算起) NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-24*60*60]; NSLog(@"%@",yesterday); //获取两个日期的时间间隔(timeInterval 是对双精度类型的重新定义,所以输出的时间要用%g,时间价格也是按秒来计算的) NSTimeInterval timeInterval = [tomorrow timeIntervalSinceDate:yesterday]; NSLog(@"%g",timeInterval / 60 / 60 / 24); //比较日期的早晚 //(1)比较两个日期中较早的日期(返回值类型为NSDate) NSDate *earlerDate = [yesterday earlierDate:tomorrow]; NSLog(@"%@",earlerDate); //(2)比较两个日期中较晚的日期 NSDate *laterDate = [yesterday laterDate:tomorrow]; NSLog(@"%@",laterDate); //(3)比较两个日期(返回值类型为枚举类型,是拿第一个参数来减第二个参数的值,枚举值为 -1,0,1) NSComparisonResult result = [yesterday compare:tomorrow]; NSLog(@"%ld",result); //时间间隔的练习:如果一个固定的时间到现在的时间在60秒以内,输出"刚刚",如果在"60 - 3600"输出"多少分钟前",如果在"3600 - 3600*24",输出"在多少小时前",如果在大于"3600*24"输出多少天前 NSDate *date1 = [NSDate date]; NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:100]; NSTimeInterval time = [date2 timeIntervalSinceDate:date1]; if (time > 0 && time <= 60) { NSLog(@"刚刚"); }else if (time <= 3600){ NSLog(@"%d分钟前",(int)(time / 60)); }else if (time <= 3600 * 24){ NSLog(@"%d小时前",(int)(time / 60 / 60)); }else{ NSLog(@"%d天前",(int)(time / 60 / 60 /24)); } //NSDateFormatter日期格式类 //作用:将日期以一定的格式进行转换(转换为字符串),另外也可将日期格式串转换为NSDate对象 NSDate *date3 = [NSDate date];//创建当前的日期对象 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];//创建日期格式对象 [formatter setDateFormat:@"yyyy-MM-dd HH:mm:SS"];//为对象设置日期的格式 //指定日期格式 //HH 表示24小时制 hh表示十二小时制 //MM 表示月份 mm 表示分钟 //dd 表示当月的天数 DD表示当天处于本年第几天 //ss 表示秒数 //如果年份给两个yy,则只显示年份的后两位,如果给其他个数的y,都是显示完整的年份. //例如:MM等 如果给两位,则月份如果是一位时,前面补0. [formatter setDateStyle:NSDateFormatterFullStyle];//设置日期输出的风格 [formatter setTimeStyle:NSDateFormatterFullStyle];//设置时间输出的风格 NSString *dateStr = [formatter stringFromDate:date3]; NSLog(@"%@",dateStr); //将日期格式串转化为NSDate对象@"2008-08-08 20:08:08" NSString *dateStr1 = @"2008-08-08 20:08:08"; //创建日期格式化对象 NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init]; //设置日期格式(一定要和日期格式串中日期的格式保持一致). [formatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //将格式字符串转换为NSData对象 NSDate *date4 = [formatter1 dateFromString:dateStr1]; NSLog(@"%@",date4); </span></span>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。