#define kChinaOneDayHourSecond24*60 * 60 + kEightHourSecond//从零时区转化为东八区中国一天的时间
#define kYesterdaySecond -24*60*60+ kEightHourSecond//从零时区转化为东八区中国明天的时间
//1.输出0时区时间 即格林尼治 获取的时间是格林尼治的标准时间,也就是0时区的时间和日期
NSDate *date = [NSDate date];
NSLog(@"%@",date);
//2.北京是东八区与0时区相差8个小时,一个时区是1个小时 输出北京时间
initWithTimeIntervalSinceNow初始化方法传入一个时间段(kEightHourSecond)也就是当前0时区时间距离这个时间段的时间间隔
NSDate *chinaDate = [[NSDate alloc]initWithTimeIntervalSinceNow:kEightHourSecond ];
NSLog(@"%@",chinaDate);
//3.明天昨天都写成宏定义 输出明天 昨天这个时候的时间
NSDate *tomorrowDate = [[NSDate alloc]initWithTimeIntervalSinceNow:kChinaOneDayHourSecond];
NSDate *yesterdayDate = [[NSDate alloc]initWithTimeIntervalSinceNow:kYesterdaySecond];
NSLog(@"%@",tomorrowDate);
NSLog(@"%@",yesterdayDate);
//4. typedef double NSTimeInterval
//NSTimeInterval是一个用typedef定义的一个新的double类型的别名用来表示以秒为单位的时间间隔
//输出此刻和昨天时间相差时间间隔(以秒为单位)NSTimeIntervaltime = [tomorrowDatetimeIntervalSinceDate:yesterdayDate];
NSLog(@"%f",time);
//5.练习一当前时间与固定时间比较 小于60秒输出刚刚 【60 3600】输出xx分钟之前 【3600 3600 * 24】输出xx小时之前
//随机一个固定时间 随机时间是按秒算的 秒3600秒 24小时之内
NSDate *suijiDate = [[NSDatealloc]initWithTimeIntervalSinceNow:arc4random()%(3600 * 24)];
NSDate *nowDate = [[NSDatealloc]initWithTimeIntervalSinceNow:kEightHourSecond];
NSTimeInterval valueDate = [suijiDatetimeIntervalSinceDate:nowDate];
NSLog(@"%@ ",suijiDate);
NSLog(@"%@ ",nowDate);
NSLog(@"%f",valueDate);
if (valueDate < 60.0) {//差值小于60秒
NSLog(@"刚刚");
}elseif (valueDate <3600){//差值【60秒 3600秒】
NSLog(@"%f分钟前",valueDate/60);
}else {//差值【3600秒 3600 * 24】;
NSLog(@"%f小时前",valueDate/3600);
}
//6.initWithTimeIntervalSince1970时间 0点 输上秒数(24 * 60 *60)24小时之后 对应时间往上加
距离1970-1-1 00:00:00 多少秒之后的一个时间 下输出
1970-01-02 00:00:00 +0000
NSDate *date1 = [[NSDate alloc]initWithTimeIntervalSince1970:24 * 60 *60];
NSLog(@"%@",date1);
//7.距离某个时间 具体时间呢 2016-01-11 06:21:01 计算指定日期多少秒之后的日期
//从今天此刻时间 距离放假时间还有61天,则那天的具体时间是:
2016-01-12 17:36:36 +0000
NSDate *date2 = [NSDate dateWithTimeInterval:61 *kChinaOneDayHourSecond
sinceDate:[NSDate date]];
NSLog(@"%@",date2);
// //NSLog(@"%@",@"yyyy")
// //NSTimeZone 转换时区
NSDateFormatter *formate = [[NSDateFormatter alloc]init];//日期转换的类
//设置转换格式(setDateFormat) 年yyyy月MM日dd 时HH(hh) 分mm 秒ss
[formate setDateFormat:@"MM-dd-yyyy HH:mm:ss"];
// 将NSDate日期转换成字符串(NSString)才能显示空间上
11-12-2015 17:42:57
NSString *nowTimer = [formate stringFromDate:[NSDate date]];
NSLog(@"%@",nowTimer);
//字符串和日期互换 字符串日期转换成date日期
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设置格式
NSString *daterStudent = @"1992-9-3 16:26:56";//字符串日期
NSDate *birthday = [formatter dateFromString:daterStudent];//字符串日期转换成date日期
NSLog(@"%@",birthday);