OC中的NSDate

来源:互联网 发布:学人工智能10本必看书 编辑:程序博客网 时间:2024/06/05 18:41

//获取当前时间

        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-01n秒后(之前)的日期

        NSDate *d4 = [NSDate dateWithTimeIntervalSinceReferenceDate:3600];

        NSLog(@"%@",d4);

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

        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);

        

        //20140501 102318

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

        NSString * nstr =@"20140501 102318";

        //设置格式

        [formatter2 setDateFormat:@"yyyyMMdd  hhmmss"];

        NSDate * date3 = [formatter2 dateFromString:nstr];

        NSLog(@"%@",date3);

0 0
原创粉丝点击