@autoreleasepool { /* //创建NSDate 对象,创建的NSDate 对象是零时区的时间 NSDate *currentDate = [NSDate date]; NSLog(@"%@", currentDate); //dateWithTimeInterval是以秒计算的 NSDate *BJDate1 = [NSDate dateWithTimeInterval:8 sinceDate:currentDate]; NSLog(@"%@",BJDate1); //通过每一时间,获取另一时间 //获取给定时间开始相隔多少秒之后的时间,该方法看似获取到的是北京时间,其实还是零时区时间,只不过是现在的零时区再过8小时之后的时间 NSDate *BJDate = [NSDate dateWithTimeInterval:8*3600 sinceDate:currentDate]; NSLog(@"%@",BJDate); //获取明日时间? NSDate *tomorrowDate = [NSDate dateWithTimeInterval:24*3600 sinceDate:BJDate]; NSLog(@"%@",tomorrowDate); //获取昨天的时间 NSDate *yesterdayDate = [NSDate dateWithTimeInterval:-24*3600 sinceDate:BJDate]; NSLog(@"%@",yesterdayDate); //获取时间间隔 //获取从1970年到现在的时间间隔 NSTimeInterval timeInterval1970 = [BJDate timeIntervalSince1970]; NSLog(@"%f", timeInterval1970); //获取从1970年开始,相差timeInterVal1970 这么长的时间之后的时间 NSDate *timeSince1970 = [NSDate dateWithTimeIntervalSince1970:timeInterval1970]; NSLog(@"%@",timeSince1970); //获取从2001年1月1日开始到到现在时间间隔 NSTimeInterval temeSince2001 = [BJDate timeIntervalSinceReferenceDate]; NSLog(@"%f",temeSince2001); //以当前时间为基准,计算某一个时间与当前时间间隔 NSTimeInterval timeInterval1 = [tomorrowDate timeIntervalSinceNow]; NSLog(@"%f",timeInterval1 / 3600); //以给定时间为基准,获取两个时间间隔 NSTimeInterval timeIntreval2 = [yesterdayDate timeIntervalSinceDate:tomorrowDate]; NSLog(@"%f",timeIntreval2 / 3600); //比较两个日期是否相等 BOOL isEqual = [tomorrowDate isEqualToDate:yesterdayDate]; NSLog(@"%d", isEqual); //获取两个时间中比较早的时间 NSDate *earlyDate = [tomorrowDate earlierDate:yesterdayDate]; NSLog(@"%@", earlyDate); //获取两个时间中比较晚的时间 NSDate *laterDate = [tomorrowDate laterDate:yesterdayDate]; NSLog(@"%@", laterDate); //两个日期对象比较 NSComparisonResult result = [tomorrowDate compare: yesterdayDate]; NSLog(@"%lu", result); */ //日期转换处理 //NSDate 和 NSString 之间的转换 // //1.NSDate 转化成NSString // //1.创建NSDate 对象 NSDate *currentDate = [NSDate date]; // //2.创建日期转换工具 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // //3.设定日期转换格式 // [formatter setDateFormat:@"yyyy年MM月dd日 E aHH:mm:ss"]; // //4.通过日期转换工具,将NSDate的对象currentDate转换成字符串 // NSString *timeStr =[formatter stringFromDate:currentDate]; // NSLog(@"%@", timeStr); // /** * 日期格式 yyyy:表示年 M:表示月,只显示当前月的数字 MM:表示月份,只显示月份数字,如果数字不足两位补零 MMM:表示当前月份,即会输出当前月份,也会输入一个"月"字 MMMM:表示月份,以中文形似显示当前月份,例如:八月 d:表示当月的第几天 D:表示当年的第几天 E:表示周几 a:表示上/下午 hh:表示时间,12小时进制 HH:表示时间,24小时进制 mm:表示分钟 ss:表示秒 */ //设置时区 [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:2]]; [formatter setDateFormat:@"yyyy年MM月dd日 E aHH:mm:ss"]; NSString *timeStr =[formatter stringFromDate:currentDate]; NSLog(@"%@", timeStr); [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]]; //3.设定日期转换格式 [formatter setDateFormat:@"yyyy年MM月dd日 E aHH:mm:ss"]; NSString *timeStr1 =[formatter stringFromDate:currentDate]; NSLog(@"%@", timeStr1); //NSString 转 NSDate NSString *str = @"2015年8月20日 11点38分38秒"; //创建格式转换器 NSDateFormatter *frmatterStr = [[NSDateFormatter alloc] init]; //设置转换格式,注意,格式必须跟字符串格式一致,否则转换失败 [frmatterStr setDateFormat:@"yyyy年M月dd日 HH点mm分ss秒"]; //转换 NSDate *newDate = [frmatterStr dateFromString:str]; NSLog(@"%@",newDate); } return 0; }