程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Objective-C 獲取NSDate對象的年月日時分秒 && NSCalender的使用

Objective-C 獲取NSDate對象的年月日時分秒 && NSCalender的使用

編輯:關於C語言

Objective-C 獲取NSDate對象的年月日時分秒 && NSCalender的使用


 

/*

現在網上大多的獲取NSDate年月日時分秒的方法,都在mac os 10.10被蘋果公司標記成不建議使用了.

查了好久,終於找到了一個蘋果公司推薦使用方法, 以下內容分享給大家

*/

 

 

 

        /*
         當前時間對象[dateNow]
         */
        NSDate *dateNow = [NSDate date];
        
        /*
         日歷類[calendar]
         注意: 一定要用[NSCalendar currentCalendar]初始化, 
              如果用[[NSCalendar alloc] init]初始化, 獲取的時間會是隨機式.
         */
        NSCalendar *calendar = [NSCalendar currentCalendar];
        
        
        /*
         變量
         */
        NSInteger year;         //年
        NSInteger month;        //月
        NSInteger day;          //日
        NSInteger hour;         //時
        NSInteger minute;       //分
        NSInteger second;       //秒
        NSInteger nanosecond;   //10^-9秒
        
        
        /*
         使用[calendar]對象從[dateNow]中獲取 [hour] [minute] [second] [nanosecond]
         注意: '&'是取地址符, 把變量的"地址"傳過去,
              函數會把相應的值寫入這個"地址", 我們的變量裡面就存入相應的值了.
         */
        [calendar getHour:&hour minute:&minute second:&second nanosecond:&nanosecond fromDate:dateNow];
        
        
        /*
         使用[calendar]對象從[dateNow]中獲取[year],[month],[day].
         注意: [Era]是公元的意思, 現在的日期都會為1. 
               由於沒有文檔介紹這個值的含義, 使用的需求度也不高, 暫時先不研究這個.
         */
        [calendar getEra:nil year:&year month:&month day:&day fromDate:dateNow];

        
        /*
         打印獲取的值 
         注意: '%d'是32位整數.
              '%ld'是64位整數.
              '%2ld'是64位整數, 如果不足2位則在左邊補充空格.
              '%02ld'是64位整數, 如果不足2位則在左邊補充'0'.
         輸出結果: 2015-03-26 13:44:34.582 MyCake[3020:106505] 2015-03-26 13:44:34.582
         
         結果說明: 對比一下, 系統輸出的時間, 和你的時間是不是一樣的.
                  而且毫米數字都一樣, 說明這種寫法效率非常高.
         */
        NSLog(@"%04ld-%02ld-%02ld %02ld:%02ld:%02ld.%03ld", year, month, day, hour, minute, second, nanosecond/1000000);


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved