您的位置:首页 > 其它

OC中的NSDate

2015-10-13 22:30 316 查看
//获取当前时间

NSDate * nowDate = [NSDate date];

NSLog(@"date=%@",nowDate);

//获取距离当前时间n秒以后的时间

NSDate *d2 = [NSDate dateWithTimeIntervalSinceNow:3600];

NSLog(@"%@",d2);

//获取距离指定日期,n秒后(之前)的日期

NSDate *d3 = [NSDate dateWithTimeInterval:3600*2 sinceDate:[NSDate date]];

NSLog(@"%@",d3);

//获取距离2001-01-01,n秒后(之前)的日期

NSDate *d4 = [NSDate dateWithTimeIntervalSinceReferenceDate:3600];

NSLog(@"%@",d4);

//获取距离1970-01-01,n秒后(之前)的日期

NSDate *d5 = [NSDate dateWithTimeIntervalSince1970:3600];

NSLog(@"%@",d5);

//获取两个Date对象之间的时间间隔

NSTimeInterval t1 = [d3 timeIntervalSinceNow];

NSLog(@"%f",t1);

//跟2001-01-01比较

NSTimeInterval t2 = [nowDate timeIntervalSinceReferenceDate];

NSLog(@"%f",t2);

//跟1970-01-01比较

NSTimeInterval t3 = [nowDate timeIntervalSince1970];

NSLog(@"%f",t3);

//计算当前时间和一个固定时间的差值,如果差值在60秒内,输出“刚刚”,如果在60秒外3600秒内,输出“xx分钟前”,如果3600秒外,3600*24秒内,输出“xx小时前”(随机获得0-255的数)

//随机创建一个date对象

NSDate *randomDate = [NSDate dateWithTimeIntervalSinceNow:arc4random()%(3600*24)];

//获取randomDate和当前时间的时间差

NSTimeInterval time = [randomDate timeIntervalSinceNow];

NSLog(@"%f",time);

if(time <60){

NSLog(@"刚刚");

}else if (time<3600){

int minute = time/60;

NSLog(@"%d分钟前",minute);

}else if (time<3600*24){

int hour = time/3600;

NSLog(@"%d小时前",hour);

}

#pragma mark --nsdateformatter 日期格式化

//功能: 将NSdate转变为表示时间的NSString

NSDateFormatter *formatter = [[NSDateFormatter alloc]init];

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:3600*2];

//设置格式,表示方式:年yyyy 月:MM 日:dd 小时:hh 分钟:mm秒:ss

[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss MMM eee a"];

//上午

[formatter setAMSymbol:@"AM"];

//下午

[formatter setPMSymbol:@"PM"];

NSString * strdate = [formatter stringFromDate:date];

NSLog(@"date=%@",strdate);

//第二个功能 :将表示时间的NSString转换问哦对应的NSdate对象

NSDateFormatter * formatter1 = [[NSDateFormatter alloc]init];

//设置格式

NSString *str = @"2013-12-10 10:30:00";

[formatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];

NSDate * date2 = [formatter1 dateFromString:str];

NSLog(@"%@",date2);

//2014年05月01日 10点23分18秒

NSDateFormatter * formatter2 = [[NSDateFormatter alloc]init];

NSString * nstr =@"2014年05月01日 10点23分18秒";

//设置格式

[formatter2 setDateFormat:@"yyyy年MM月dd日 hh点mm分ss秒"];

NSDate * date3 = [formatter2 dateFromString:nstr];

NSLog(@"%@",date3);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: