• iOS Foundation框架 -4.NSDate类的简单用法


    NSDate为日期时间类对象,简单操作:

    注意:直接NSLog输出NSDate对象,默认是以0时区为标准,因此会比北京时间少8小时

    1.将Date格式转换为自定义格式的字符串格式

        // 自定义Date时间日期格式
        
        // 创建日期时间对象
        NSDate *date = [NSDate date];
        
        // 借助日期时间对象格式化对象
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        
        // 定义要显示的时间日期格式 HH:表示24小时格式 hh:表示12小时格式
        formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
        
        // 将时间日期格式转化为字符串
        NSString *str = [formatter stringFromDate:date];
        NSLog(@"%@",str); // 输出:2014-03-22 14:01:52

    2.将字符串格式转换为date格式

        // 将字符串转化为Date对象格式
        NSString *str = @"2012/11/11 17:58:00";
        
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        formatter.dateFormat = @"yyyy/MM/dd HH:mm:ss";
        NSDate *date = [formatter dateFromString:str];
        NSLog(@"%@",date); // 输出: 2012-11-11 09:58:00 +0000

    3.NSDate的一些其他方法

        // 创建日期时间对象
        NSDate *date =[NSDate date];
        
        // 输出默认就是当前时间 但是时间默认的是0时区的时间 因此比北京时间少8小时
        NSLog(@"%@",date);
        
        // 创建的日期时间对象date2 比 date少5秒
        NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];
        
        // 计算从1970年0点到date2总共过了多少秒
        // 返回类型是NSTimeInterval
        // 系统定义 typedef double NSTimeInterval; 可以看出它其实就是double类型 因此seconds不用加 *
        NSTimeInterval seconds = [date2 timeIntervalSince1970];
        
        // date2的时间和现在时间(也就是代码执行时间)相隔多少秒
        NSTimeInterval seconds2 = [date2 timeIntervalSinceNow];
  • 相关阅读:
    kubeadm High availability cluster(1.23)
    OpenSSH升级版本到最新(8.9)
    如何修复 Linux 中的“passwd:鉴定令牌操作错误”
    dd命令
    Docker 更新版本
    iftop命令命令详解
    云原生时代的DevOps之道
    yum获取rpm软件包的三种方法
    Kubernetes使用helm部署单机版mysql(使用hostPath数据卷)
    The connection to the server localhost:8080 was refused did you specify the right host or port?
  • 原文地址:https://www.cnblogs.com/QM80/p/3617518.html
Copyright © 2020-2023  润新知