OC時間日期


1.創建日期對象
方法:-+(NSDate *)date
注:創建的日期對象永遠是零時區的時間.
 例:NSDate *date1 = [NSDate date];
2.創建一個與此時時間間隔的日期,
方法:+(NSDate *)dateWithTimeIntervalSinceNow:(時間間隔)
注:時間間隔是以秒爲單位的
例1:創建一個明天此時的日期
NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:24 * 60 * 60];
例2:創建一個作天此時的日期,
        NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:- 24 * 60 *60];


3;獲取兩個日期的時間間隔
方法:-(NSTimeInterval )timeIntervalSinceDate:(NSDate *)日期
例3 我們獲取一下例1和例2中兩個日期的間隔
NSTimeInterval date =[tomorrow timeIntervalSinceDate: yesterday];
        NSLog(@"%f",date/60/60/24);//因爲間隔是以秒爲單位的
        
        
3.比較日期的早晚
(1)獲取兩個日期中較早的日期
方法:-( NSDate *)earlierDate:( NSDate *)
(2)獲取兩個日期中較晚的日期
方法:-( NSDate *)laterDate:( NSDate *)        
NSDate *laterDate  = [tomoroow laterDate:date1];
4.日期格式的轉換            
NSDateFormatter是一個日期格對象類型,將日期以一個格式進行轉換,(原理 轉換成字符串)另外也可將日期格式串轉換成NSdate對象.
(1)NSdate對象轉換爲日期格式串
     例:   NSDate *date = [NSDate date];
        //創建日期對象
        NSDateFormatter *formatter =[[NSDateFormatter alloc] init];
        //指定日期的格式
        //HH表示24小時,hh表示12小時.
        //MM表示月份,mm表示分鐘
        //DD表示當天是本年的第幾天,dd表示當月幾號.
        //ss 表示秒
        //如果年份爲兩個Y則只顯示年份的後兩位,如果給其他個數的y都是顯示全的.
        //如果mm等 如果給兩位,則月份如果是一位時前面補o.
        [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        //設置日期的格式
        [formatter setDateStyle:NSDateFormatterMediumStyle];       設置時間的格式
       [formatter setTimeStyle:NSDateFormatterShortStyle];
       //將日期按照指定格式轉換爲日期格式串        NSString *str =[formatter stringFromDate:date];
        NSLog(@"%@",str);
        
(2)將日期格式串轉換爲NSdate對象
  例:      //@"2008-08-08 08:08:08"
        NSString *str = @"2014年05月01日 10點23分18秒";
        //創建日期格式化對象
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        //設置日期格式(一定要與轉換得日期格式保持一直)
        [formatter setDateFormat:@"yyyy年MM月dd日 HH點mm分ss秒"];
        //將str轉化爲date對象.
       NSDate *date = [formatter dateFromString:str];
        NSLog(@"%@",date);

發佈了33 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章