// 练习1: 一个当前时间和一个固定时间的差值,如果差值在60秒之内,则输出"刚刚",如果时间差值在60~3600秒,则输出在"xx分钟之前", 如果在3600~24*3600之内,则输出在"xx小时之前",如果在24*3600秒之外输出固定的时间
// 固定时间
NSDate *pastDate = [NSDate dateWithTimeIntervalSinceNow:-370];
NSLog(@"%@", pastDate);
// 当前时间
NSDate *nowDate = [NSDate date];
// 固定时间与当前时间的差值
NSTimeInterval interval = [nowDate timeIntervalSinceDate:pastDate];
NSLog(@"时间差为 %.2f 秒", interval);
if (interval <= 60) {
NSLog(@"刚刚");
} else if(interval <= 3600){
NSLog(@"%.f分钟之前", interval / 60);
} else if(interval <= 24*3600){
NSLog(@"%.f小时之前", interval / 3600);
}else if(interval > 24*3600){
NSLog(@"%@", pastDate);
}
// 练习2:将字符串@"2016年04月01日 01点20分18秒"转换为NSDate对象。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];
// 准备时间字符串
NSString *dateString = @"2016年04月01日 01时20分18秒";
// 使用时间格式对象借助时间字符串格式化时间对象
NSDate *firstOFDate = [formatter dateFromString:dateString];
// 转过来的时间会被回归到零时区的时间
NSLog(@"%@", firstOFDate);
// 如果想得到北京时间需要手动加上8小时
NSDate *twoOFDate = [firstOFDate dateByAddingTimeInterval:8*60*60];
NSLog(@"%@", twoOFDate);
// 练习3:将1468232420转成日期类型
NSString *aString = @"1468232420";
NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
NSLog(@"aData = %@", aData);