OC_时间NSDate、日历NSCalendar
来源:互联网 发布:卖家版淘宝下载 编辑:程序博客网 时间:2024/05/14 15:24
NSData
//在OC中,Foundation框架为我们提供了强大的时间操作类‘NSDate’,该类封装了各种处理时间和日期的API
//获取系统当前时间(GMT 格林尼治时间,与北京时间相差8小时 北京时间 = GMT + 8)
NSDate *date1 = [NSDate date];NSLog(@"%@",date1);
//(NATimeInterval) 是一个以秒为单位的时间片,也叫时间撮
NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:3600*8];//北京时间NSLog(@"%@",date2);
//距离1970.1.1日期tiimeInterval时间撮的时间
NSDate *date3 = [NSDate dateWithTimeIntervalSince1970:120];//两分钟前
//距离sinceDate日期timeInterval时间撮的时间
NSDate *date4 = [NSDate dateWithTimeInterval:120 sinceDate:[NSDate date]];NSLog(@"%@",date4);
//通过时间追加创建NSDate
NSDate *date5 = [date4 dateByAddingTimeInterval:120];NSLog(@"%@",date5);
//日期比较
//1.两个日期的时间撮
NSTimeInterval timeIntervalSince1970 = [[NSDate date]timeIntervalSince1970];NSLog(@"timeIntervalSince1970 = %f",timeIntervalSince1970);NSTimeInterval timeIntervalSinceNow = [[NSDate date]timeIntervalSinceNow];NSlog(@"timeIntervalSinceNow = %f",timeIntervalSinceNow);NSDate *dateNow = [NSDate date];NSDate *anhourago = [NSDate dateWithTimeInterval:-3600 sinceDate:dateNow];NSLog(@"%@",anhourago);
//判断两个日期是否相等
bool flag = [dateNow isEqualToDate:date1];if (flag) {NSLog(@"dateNow = date1");}else{NSLog(@"no");}
NSDate *date6 = [dateNow earlierDate:anhourago]; if ([date6 isEqualToDate:anhourago]){ NSLog(@"anhourago 是较早的时间"); } else{ NSLog(@"dateNow 是较早的时间"); }NSDate *date7 = [dateNow laterDate:anhourago];if ([date7 isEqualToDate:anhourago]){ NSLog(@"anhourago是较晚的时间");}else{ NSLog(@"dateNow是较晚的时间");}NSComparisonResult comparisonResult = [dateNow compare:anhourago];switch (comparisonResult){ case NSOrderedAscending:{ NSLog(@"dateNow < anchorage"); break; } case NSOrderedSanme:{ NSLog(@"="); break; } case NSOrderedDescending:{ NSLog(@"dateNow > anhourago"); break; }}
日历
NSCalendar *currentCalendar = [NSCalendar currentCalendar];NSDateComponents *components = [[NSDateComponents alloc]init];components.year = 2016;components.month = 8;components.day=12;components.hour=12+8;components.minute=14;components.second=55;NSDate *date8 = [currentCalendar dateFromComponents:components];NSLog(@"%@",date8);
//时区
//NSTimeZone
//列出所有的时区
NSArray *array1 =[NSTimeZone knownTimeZoneNames];NSLog(@"%@",array);
//指定名称参数创建一个时区
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
//指定时区缩写创建一个时区 UTC世界。。。什么鬼
NSTimeZone *timeZone2 = [NSTimeZone timeZoneWithAbbreviation:@"PRC"];
//如何将NSDate转换成字符串类型
NSDateFormatter *dateFormatter = [NSDateFormatter new];
//设置时区(默认时区)
dateFormatter.timeZone = [NSTimeZone defaultTimeZone];//本地时区
//设置时间输出格式
//[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];[dateFormatter setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];NSString *string1 = [dateFormatter stringFromDate:[NSDate date]];NSLog(@"%@",string1);
//如何将字符串转换成NSDate类型
NSString *string2 = @"1970-01-01 08:00:00";[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSDate *date9 = [dateFormatter dateFromString:string2];NSLog(@"%@",date9);NSTimeInterval timeInterval = date9.timeIntervalSinceNow;NSLog(@"%f",-timeInterval);NSTimeInterval timeInterval2 = [[NSDate date]timeIntervalSince1970];NSLog(@"%f",timeInterval2);/*
dateString 格式为:2016-08-08 18:00:00
传入时间 与现在时间 差距60秒内,方法输出 @“刚刚”
差距 1小时之内,输出@“xx分钟前”
差距 1-24小时以内 xx小时前
大于30天 xx月前
大于360天 完整日期
*/NSString *str0 = @"2016-08-13 13:50:00";Time *time = [[Time alloc]init];[time timeDiff:str0];
//NSDate
//在OC中,Foundation框架为我们提供了强大的时间操作类‘NSDate’,该类封装了各种处理时间和日期的API
//转化的方法
NSDateFormatter *dateFormatter = [NSDateFormatter new];[dateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSDate *date1 = [dateFormatter dateFromString:date];NSTimeInterval timeInterval1 = date1.timeIntervalSinceNow;float a = -(timeInterval1/60);int b;NSLog(@"%f",-timeInterval1);if (a < 1){ NSLog(@"刚刚");}else if (a >= 1 && a< 60){ NSLog(@"%d分钟前")}else if (a >= 60 &&a<60*24){ NSLog(@"%d小时前",b);}else if (a >=60*24 && a<60*24*30){ b = a/60/24; NSLog(@"%d天前",b);}else if(a >=60*24*30 && a<60*24*30*12){ b = a/(60*24*30); NSLog(@"%d个月前",b);}else if (a>60*24*30*12){ NSLog(@"%@",date);}
0 0
- OC_时间NSDate、日历NSCalendar
- 日历 NSDate NSCalendar
- ios 日历简单制作和可选择某段特定时间NSCalendar 和NSDate
- ios 获取时间--NSCalendar NSDateComponents NSDate
- 时间解析(NSDate、NSDateFormatter、NSCalendar、NSDateComponents):
- NSDate、NSCalendar
- NSDate、NSCalendar
- ios NSDate,NSCalendar,制作日历简单实用的方法
- NSDate,NSCalendar,制作日历简单实用的方法
- iOS获取当前时间 NSDate(NSCalendar)获取当前时间
- NSCalendar 日历
- 日历(NSCalendar)
- 使用 NSDate,NSCalendar, NSDateComponents 获得时间之差总结
- 使用 NSDate,NSCalendar, NSDateComponents 获得时间之差总结
- iOS时间处理(NSDate、NSDateComponents、NSCalendar、NSDateFormatter、NSTimeZone)
- 使用 NSDate,NSCalendar, NSDateComponents 获得时间之差总结
- iOS时间相关类:NSDate, NSCalendar, NSDateComponents, NSDateFormatter
- 日期和时间 NSDate NSTimeInterval NSCalendar NSDateComponents NSDateFormatter
- Q2.Add Two Numbers
- 51-54递归概念
- BCM 芯片SDK初始化
- iOS启动页面多张图片自动切换(带动画效果)
- 学习qt的图表绘制(二)
- OC_时间NSDate、日历NSCalendar
- 55 ip 域名以及dns 56.Apache安装及虚拟主机配置 ...23
- super关键字
- Linux内核学习总结(附录linux协议栈函数调用图)
- ios数据库入门
- U3D模拟暗黑泰瑞尔翅膀效果
- 自己搭建git server
- 【codeforces】Hulk
- BOM浏览器对象模型