NSDate

作者: 不高冷的龙拾柒 | 来源:发表于2016-07-11 20:25 被阅读0次

// 练习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);

相关文章

网友评论

      本文标题:NSDate

      本文链接:https://www.haomeiwen.com/subject/mnlrjttx.html