zoukankan      html  css  js  c++  java
  • Foundation框架: 11.NSDate的基本认识和使用

    学到这里, 我们基本上就把Foundation框架里面的东西学的七七八八了, 剩下的就只有UIKit, 也就是我们的UI部分,好了, 废话不多说, 现在我们来看看NSDate是干嘛用的吧.



    例子:

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        NSDate *date = [NSDate date];
        
        NSLog(@"%@", date);
        
        return 0;
    }
    

    打印出来的结果:

    2015-02-06 16:38:58.969 12.NSDate[4971:303] 2015-02-06 08:38:58 +0000
    


    看到打印的结果, 一下就明悟了, 原来NSDate打印的是时间, 没错, NSDate其实就是用来定义时间的, 但这个时间和我们的本地时间不一样, 它打印出来的是中时区, 也就是我们的零时区, 不信你们就打印出来试试~~~





    那么还有其他方法么? 肯定是有的, 下面继续看:

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        
        NSDate *date = [NSDate date];
    
        NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];
        
        NSLog(@"date = %@, date2 = %@", date, date2);
    
        return 0;
    }
    

    打印出来的结果:

    2015-02-06 16:43:00.819 12.NSDate[4987:303] date = 2015-02-06 08:43:00 +0000, date2 = 2015-02-06 08:43:05 +0000
    

    date2这个方法创建出来的时间, 永远比date慢那么5秒, 这里注意一下, 在OC开发里, 所有时间都是以秒计算的, 而在其他语言里, 或许以毫秒计算, 但是在OC里是不一样的.





    其实上面这些都是鸡毛蒜皮, 真正有用的方法是下面这个:

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        NSDate *date = [NSDate date];
        
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        
        formatter.dateFormat = @"yyyy-MM-dd HH-mm-ss";
        
        NSString *str = [formatter stringFromDate:date];
        
        NSLog(@"%@", str);
        
        return 0;
    }
    

    打印出来的结果:

    2015-02-06 16:49:40.990 12.NSDate[5045:303] 2015-02-06 16-49-40
    

    PS: y-> M-> d->日  H(24小时)-> h(12小时)->时 m-> s->




    当然, 有把NSDate转成字符串的, 那么就肯定有把字符串转成NSDate的方法, 下面来看看吧:

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        NSString *str = @"2011/11/30 15:22";
        
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        
        formatter.dateFormat = @"yyyy/MM/dd HH:mm";
        
        NSDate *date = [formatter dateFromString:str];
        
        NSLog(@"%@", date);
        
        return 0;
    }

    打印出来的结果:

    2015-02-06 21:41:09.906 12.NSDate[5321:303] 2011-11-30 07:22:00 +0000
    



    好了, NSDate就到这里结束了~~~下次我们继续~~




  • 相关阅读:
    信创舆情一线--英特尔暂停向浪潮供货
    一周信创舆情观察(6.22~6.28)
    网络综合架构
    基础网络知识
    运维vi命令集合
    运维基础
    Manjaro安装后简单配置
    Zabbix监控TCP连接状态(命令实现)
    ubuntu安装matlab R2017 -the last step
    linux--access函数与mkdir函数
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282802.html
Copyright © 2011-2022 走看看