zoukankan      html  css  js  c++  java
  • Foundation框架—日期类(NSDate)

    时间类NSDate

    1.创建一个日期对象
    
        NSDate *date1 = [[NSDate alloc] init]; //创建了一个当前的时间点
        NSDate *date2 = [NSDate date];
        NSLog(@"date2:%@",date2);
        
        2.在当前时间点的基础上,进行时间的累加
    
        //明天
        NSDate *date3 = [NSDate dateWithTimeIntervalSinceNow:24*60*60];
        //昨天
        NSDate *date4 = [NSDate dateWithTimeIntervalSinceNow:-24*60*60];
        NSLog(@"date4:%@",date4);
        
        
        3.在1970时间点的基础上,进行时间的累加
    
        NSDate *date1970 = [NSDate dateWithTimeIntervalSince1970:0];
        NSLog(@"date1970:%@",date1970);
        
        NSDate *date5 = [NSDate dateWithTimeIntervalSince1970:1234578];
        NSLog(@"date5:%@",date5);
        
        4.当前日期的时间戳
    
        //时间戳:某一日期到1970年的秒数多少,称为该日期的时间戳
        NSTimeInterval nowTime1970 = [date1 timeIntervalSince1970];
        NSLog(@"nowTime1970:%f",nowTime1970);
        
        NSTimeInterval nowTime = [date1970 timeIntervalSinceNow];
        NSLog(@"nowTime:%f",nowTime);
        
        5.日期比较
    
        //(1)通过时间戳比较
        //date3  明天  date4 昨天
        NSTimeInterval subTime1 = [date3 timeIntervalSince1970];
        NSTimeInterval subTime2 = [date4 timeIntervalSince1970];
        if (subTime1 < subTime2) {
            NSLog(@"date4>date3");
        }else {
            NSLog(@"date4<date3");
        }
        
        //(2)compare
        NSComparisonResult result = [date3 compare:date4];
        if (result == NSOrderedAscending) {
            NSLog(@"date3<date4");
        }else {
            NSLog(@"date3>date4");
        }

      日期格式化

    1.date->string
    
        NSDate *date = [NSDate dateWithTimeIntervalSinceNow:2*24*60*60];
        //2015-11-26 11:54:02 +0000   ->11月26号 11:54
        NSLog(@"date:%@",date);
        
        //2015年11月26号 11:54   yyyy年MM月dd号 HH:mm:ss
        //创建日期格式化对象
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        //设置日期化格式  E:对应星期
        [dateFormatter setDateFormat:@"yyyy年MM月dd号 HH:mm:ss E z"];
    
        NSString *str = [dateFormatter stringFromDate:date];
        NSLog(@"str:%@",str);
    
    
        2.设置时区
    
        //获取所有时区
    //    NSLog(@"%@",[NSTimeZone knownTimeZoneNames]);
        NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Indian/Chagos"];
        [dateFormatter setTimeZone:timeZone];
        str = [dateFormatter stringFromDate:date];
        NSLog(@"str:%@",str);
        
        
        3.string->date
    
        //yyyy年M月dd号 HH-mm-ss
        NSString *dateString = @"2015年2月14号 13-23-56";
       
        //创建日期格式化对象
        NSDateFormatter *dateFormetter1 = [[NSDateFormatter alloc] init];
        [dateFormetter1 setDateFormat:@"yyyy年M月dd号 HH-mm-ss"];
        
        NSDate *dateStr = [dateFormetter1 dateFromString:dateString];
        NSLog(@"dateStr:%@",dateStr);

  • 相关阅读:
    雪花算法解决的问题
    ServiceStack6000次限制破解
    电商 详情页面 nginx 配置 优先请求静态页,若没有请求动态页,同时生成静态页
    docker 使用汇总
    .net 5 新特性 -- EFCoreDBFirst 介绍 和 .NET5 AOP 5个Filter
    模板方法设计模式:定义抽象类-模板:定义业务流程,执行步骤--》各业务类继承抽象类,实现各自不同 具体的执行步骤
    通过代理模式(包一层),实现对业务增加功能如日志,异常处理,缓存结果,到达不破坏原有的业务代码,扩展了功能
    设计模式
    mongodb 基本操作(增删改查),事务,数据失效机制
    log4net.Config
  • 原文地址:https://www.cnblogs.com/wangyibo-666/p/5120888.html
Copyright © 2011-2022 走看看