• NSDate 类的总结,全面基础


    <span style="font-size:24px;"><span style="font-size:18px;">//1.创建日期对象
            //创建的NSDate对象,获得的永远是0时区时间,假设要是求东八区时间,就加8个小时
            NSDate *date = [NSDate date];
            NSLog(@"%@",date);
            
            //创建明天此时的日期(时间间隔都是以秒为单位计算的)
            NSDate *tomorrow  = [NSDate dateWithTimeIntervalSinceNow:24*60*60];
            NSLog(@"%@",tomorrow);
            
            //创建昨天此时的日期(- 表示从如今開始向前面算起)
            NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-24*60*60];
            NSLog(@"%@",yesterday);
            
            //获取两个日期的时间间隔(timeInterval 是对双精度类型的又一次定义,所以输出的时间要用%g,时间价格也是按秒来计算的)
            NSTimeInterval timeInterval = [tomorrow timeIntervalSinceDate:yesterday];
            NSLog(@"%g",timeInterval / 60 / 60 / 24);
            
            //比較日期的早晚
            //(1)比較两个日期中较早的日期(返回值类型为NSDate)
            NSDate *earlerDate = [yesterday earlierDate:tomorrow];
            NSLog(@"%@",earlerDate);
            
            //(2)比較两个日期中较晚的日期
            NSDate *laterDate = [yesterday laterDate:tomorrow];
            NSLog(@"%@",laterDate);
            
            //(3)比較两个日期(返回值类型为枚举类型,是拿第一个參数来减第二个參数的值,枚举值为 -1,0,1)
            NSComparisonResult result = [yesterday compare:tomorrow];
            NSLog(@"%ld",result);
            
            //时间间隔的练习:假设一个固定的时间到如今的时间在60秒以内,输出"刚刚",假设在"60 - 3600"输出"多少分钟前",假设在"3600 - 3600*24",输出"在多少小时前",假设在大于"3600*24"输出多少天前
            NSDate *date1 = [NSDate date];
            NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:100];
            NSTimeInterval time = [date2 timeIntervalSinceDate:date1];
            if (time > 0 && time <= 60) {
                NSLog(@"刚刚");
            }else if (time <= 3600){
                NSLog(@"%d分钟前",(int)(time / 60));
            }else if (time <= 3600 * 24){
                NSLog(@"%d小时前",(int)(time / 60 / 60));
            }else{
                NSLog(@"%d天前",(int)(time / 60 / 60 /24));
            }
            
            
            //NSDateFormatter日期格式类
            //作用:将日期以一定的格式进行转换(转换为字符串),另外也可将日期格式串转换为NSDate对象
            NSDate *date3 = [NSDate date];//创建当前的日期对象
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];//创建日期格式对象
            [formatter setDateFormat:@"yyyy-MM-dd HH:mm:SS"];//为对象设置日期的格式
            //指定日期格式
              //HH 表示24小时制 hh表示十二小时制
              //MM 表示月份 mm 表示分钟
              //dd 表示当月的天数 DD表示当天处于本年第几天
              //ss 表示秒数
              //假设年份给两个yy,则仅仅显示年份的后两位,假设给其它个数的y,都是显示完整的年份.
              //比如:MM等 假设给两位,则月份假设是一位时,前面补0.
            [formatter setDateStyle:NSDateFormatterFullStyle];//设置日期输出的风格
            [formatter setTimeStyle:NSDateFormatterFullStyle];//设置时间输出的风格
            NSString *dateStr = [formatter stringFromDate:date3];
            NSLog(@"%@",dateStr);
            
            //将日期格式串转化为NSDate对象@"2008-08-08 20:08:08"
            NSString  *dateStr1 = @"2008-08-08 20:08:08";
            //创建日期格式化对象
            NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];
            //设置日期格式(一定要和日期格式串中日期的格式保持一致).
            [formatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
            //将格式字符串转换为NSData对象
            NSDate *date4 = [formatter1 dateFromString:dateStr1];
            NSLog(@"%@",date4);
    </span></span>
    各位有手机的能够能够用手机打开这个网址,没事的时候能够赚点零花钱   http://m.qianka.com/?u=27101327

  • 相关阅读:
    C++纯虚函数调用
    C++编译期数据结构 在不同的地方声明全局数组的初始值
    用虚拟机把ubuntu安装到TF卡上
    点击a链接打开第三方页面变成下载页面问题
    SRAM和DRAM的区别
    真值表生成逻辑表达式程序
    大端 小端
    vhdl rising_edge(clk) (clk'event and clk='1')的区别
    ROM、RAM、DRAM、SRAM、FLASH的区别
    同一个主机头的多域名绑定多个ssl证书的方法
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6800963.html
Copyright © 2020-2023  润新知