美文网首页
第08天OC语言(13):NSDate

第08天OC语言(13):NSDate

作者: liyuhong | 来源:发表于2017-07-26 08:37 被阅读5次
    • 不要等到明天,明天太遥远,今天就行动。
    须读:看完该文章你能做什么?

    NSDate的基本使用

    学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

    适合所有人,不需要懂的什么

    注:(小白直接上手)

    一、本章笔记
     一、NSDate
        1.创建
            + (instancetype)date;
            NSDate *now = [NSDate date];
     二、NStimeZone 获取时区
            @property (class, readonly, copy) NSTimeZone *systemTimeZone;// 获取当前时区
            - (NSInteger)secondsFromGMTForDate:(NSDate *)aDate; // 比较两个时区的时间差
            - (instancetype)dateByAddingTimeInterval:(NSTimeInterval)ti NS_AVAILABLE(10_6, 2_0); // 追加时间
     三、NSDateFormatter 时间格式化
        1.初始化
            NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        2.设置时间的格式
            @property (null_resettable, copy) NSString *dateFormat;
     四、NSString 转成 NSDate
            - (nullable NSDate *)dateFromString:(NSString *)string;
      // 注意 : 如果是从 NSString格式化NSDate, 那么 dateFormat 的格式, 必须和字符串中的时间格式一致,否则可能转换失败
    
    
    二、code
    main.m
    #pragma mark 13-NSDate
    #pragma mark - 代码
    #import <Foundation/Foundation.h>
    #pragma mark 类
    
    #pragma mark - main函数
    int main(int argc, const char * argv[])
    {
    #pragma 1.NSDate创建 和 基本概念
        // 主要是通过date方法 创建的时间对象, 对象就保持了当前的时间
        NSDate *now = [NSDate date];
        NSLog(@"now = %@",now); // now = 2017-07-20 23:58:26 +0000 --> 0000 是零时区 我们是东八区
        
        // 在 now的基础上追加多少秒
    //    NSDate *date = [now dateByAddingTimeInterval:10];
    //    NSLog(@"date = %@",date);
        
    #pragma 2.获取当前所在的时区(NSTimeZone)
        NSTimeZone *zone = [NSTimeZone systemTimeZone];
        // 2.获取当前时区 和 指定时间的时间差
        NSInteger seconds =  [zone secondsFromGMTForDate:now];
        NSLog(@"seconds = %lu",seconds);
        
        NSDate *newDate = [now dateByAddingTimeInterval:seconds];
        NSLog(@"newDate = %@",newDate);
        
    #pragma 3.时间格式化
        // xxx年xx月xx日 xx小时xx分钟xx秒
        // xxxx/xx/xx xx/xx/xx
        NSDate *now1 = [NSDate date];
        // 创建一个时间格式化对象
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        // 告诉时间格式化对象, 按照什么样的格式化 来格式化时间
        /*  yyyy 年
            MM   月
            dd   日
            HH 24小时 hh 12小时
            mm   分
            ss   秒
         */
        formatter.dateFormat =@"yyyy年MM月dd日 HH时mm分ss秒";
        // 利用时间格式化 对 时间进行格式化
        NSString *res = [formatter stringFromDate:now1];
        NSLog(@"res = %@",res);
        
        
    #pragma 4.字符串 转成 NSDate
        NSString *str = @"2017-07-21 08:12:16 +0000";
        NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];
        // 注意 : 如果是从 NSString格式化NSDate, 那么 dateFormat 的格式, 必须和字符串中的时间格式一致,否则可能转换失败
        formatter1.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
        NSDate *date1 = [formatter1 dateFromString:str];
        NSLog(@"%@",date1);
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:第08天OC语言(13):NSDate

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