pragma mark NSDate:获取时间的一个类
/* NSDate是iOS中表示日期、时间的数据类型、提供给了日期的创建、比较、时间间隔等功能
*
*
*/
//// 获取当前时间:获取到的date对象是零时区的时间
// NSDate nowDate = [NSDate date];
// NSLog(@"当前时间%@",nowDate);
//// 获取当前时区的时间
//
// NSString localDate = [nowDate descriptionWithLocale:[NSLocale currentLocale]];
//
// NSLog(@"当前时区的时间%@",localDate);
//
//// 获取距离当前时间若干秒之后的时间(东八时区)
//
// NSDate eightAreaDate = [NSDate dateWithTimeIntervalSinceNow:86060];
//
// NSLog(@"距离当前时间若干秒之后的时间%@",eightAreaDate);
//
////获取明天的这个时刻的时间
//
// NSDate tomorrowDate = [NSDate dateWithTimeIntervalSinceNow:86060 + 246060];
// NSLog(@"明天的这个时刻的时间%@",tomorrowDate);
//
////获取时间戳
////时间戳:时间戳是从1970年1月1号开始到当前时间经过了多少秒
// NSTimeInterval timeInterval = [nowDate timeIntervalSince1970];
// NSLog(@"时间戳%f",timeInterval);
//
//// 将时间戳转换为当前日期
// NSDate *riQi = [NSDate dateWithTimeIntervalSince1970:timeInterval];
// NSLog(@"戳转换为当前日期%@",riQi);
//
////获取两个时间的间隔
// NSTimeInterval betweenTwoTimes = [tomorrowDate timeIntervalSince1970];
// NSLog(@"两个时间的间隔%f",betweenTwoTimes );
//计算当前时间和一个固定时间的差值,如果差值在60秒内,输出“ 刚”,如果在60秒外3600秒内,输出“xx分钟前”,如果3600秒外, 3600*24秒内,输出“xx⼩小时前”。
//创建当前时间
//NSDate *nowDate = [NSDate dateWithTimeIntervalSinceNow:8 * 60 *60];
////创建固定时间
//NSDate newDate = [NSDate dateWithTimeInterval:6060 sinceDate:nowDate];
//
// NSLog(@"当前时间%@,固定时间%@",nowDate,newDate);
//
//// 获取两个时间的差值,用第一个对象减去第二个对象,得到他们的差值
// NSTimeInterval betweenTWoTimes = [newDate timeIntervalSinceDate:nowDate];
// NSLog(@"时间的差值%f",betweenTWoTimes);
//
//// 进行差值判断,输出不同的语句
// if (betweenTWoTimes < 60) {
// NSLog(@"刚刚");
// }else if(60 < betweenTWoTimes && betweenTWoTimes < 3600){
//
// NSLog(@"%d分钟前",(int)betweenTWoTimes/60);
// }else{
// NSLog(@"%d小时前",(int)betweenTWoTimes/60/60);
// }
//
pragma mark NSDateFormatter 时间的格式转换类
// NSDateFormatter是iOS中的日期格式,主要实现:将代表日期的NSDate对象转换为字符串对象,或将时间字符串转换为日期对象
// NSDateFormatter可以根据我们提供的日期格式,将NSDate转换为指定格式的字符串
// 我们有两种指定日期格式:1、使用系统预置的日期格式 2.自定义日期格式
// 再将时间对象转换为字符串对象时,会自动将时间对象转换为当前时区的时间,再转换为字符串
// 在将字符串格式的时间转换为时间对象时,先将本时区的时间转换为0时区的时间,然后再转换为时间对象
// 使用系统预置的日期格式
// 创建出 NSDateFormatter对象
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
// 设置日期格式
[formatter setDateStyle:(NSDateFormatterMediumStyle)];
//设置时间格式
[formatter setTimeStyle:(NSDateFormatterShortStyle)];
//创建date对象,进行转换
NSDate *nowDate = [NSDate date];
NSString *str = [formatter stringFromDate:nowDate];
NSLog(@"%@",str);
// 使用自定义的日期格式
// 创建出 NSDateFormatter对象
NSDateFormatter *selfFormatter = [[NSDateFormatter alloc]init];
// 自定义日期和时间的格式
[selfFormatter setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];
//将时间对象转换为字符串对象
NSDate *nowDate1 = [NSDate date];
NSString *datestrString = [selfFormatter stringFromDate:nowDate1];
NSLog(@"%@",datestrString);
// 将一个字符串格式的时间转换为时间对象
NSString *dateString1 = @"2015年11月3号 14时52分00秒";
// 1.创建出 NSDateFormatter对象
NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];
// 2.设置对应的时间格式,改格式要严格和字符串时间匹配,否则不能正常转换(字母设置也不能重复命名)
[formatter setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];
//3. 调用formatter对象,将字符串格式的时间转换为时间对象NSDate(
NSDate *date = [formatter1 dateFromString:dateString1];
NSLog(@"%@",date);
// 获取系统的时间(NSdate对象)
//创建date对象
NSDate *newDate = [NSDate date];
// 创建出 NSDateFormatter对象
NSDateFormatter *selfformatter = [[NSDateFormatter alloc]init];
// 转换为字符串对象
[selfformatter setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];
NSString *dateString = [selfFormatter stringFromDate:date];
NSLog(@"%@", dateString);
//将字符串时间对象转换为NSDate时间对象
NSDateFormatter *selfFormatter1 = [[NSDateFormatter alloc]init];
[selfFormatter1 setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];
NSDate *nowDate2 = [selfFormatter1 dateFromString:dateString];
NSLog(@"%@", [nowDate2 dateByAddingTimeInterval:8 * 60 * 60]);
网友评论