自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Objective-C學(xué)習(xí)之NSDate簡單使用說明

移動開發(fā) iOS
XCode4.6.3,OS X SDK 10.8; NSDate日期操作,獲取當(dāng)前日期,日期比較,日期格式,日期推算,時差解決辦法等 。

object-c基礎(chǔ)語法NSDate, 主要學(xué)習(xí)NSDate的設(shè)置、獲取當(dāng)前時間、當(dāng)前時間加減秒后的時間、日期比較、日期轉(zhuǎn)換成NSString等

XCode4.6.3,OS X SDK 10.8; NSDate日期操作,獲取當(dāng)前日期,日期比較,日期格式,日期推算,時差解決辦法等 。

 

 

一、NSDate初始化

  1. // 獲取當(dāng)前日期   
  2.  
  3.         NSDate *date = [NSDate date];   
  4.  
  5.              
  6.  
  7.          // 打印結(jié)果: 當(dāng)前時間 date = 2013-08-16 09:00:04 +0000   
  8.  
  9.          NSLog(@"當(dāng)前時間 date = %@",date);   
  10.  
  11.              
  12.  
  13.          // 獲取從某個日期開始往前或者往后多久的日期,此處60代表60秒,如果需要獲取之前的,將60改為-60即可   
  14.  
  15.          date = [[NSDate alloc] initWithTimeInterval:60 sinceDate:[NSDate date]];   
  16.  
  17.           
  18.  
  19.         //打印結(jié)果:當(dāng)前時間 往后60s的時間date = 2013-08-16 09:01:04 +0000   
  20.  
  21.         NSLog(@"當(dāng)前時間 往后60s的時間date = %@",date);  

PS:測試時時間是下午5點(diǎn),但是得到的當(dāng)前時間卻是上午9點(diǎn),相差了8小時,是時區(qū)的問題

解決辦法:

  1. NSTimeZone *zone = [NSTimeZone systemTimeZone];   
  2.  
  3.              
  4.  
  5.          NSInteger interval = [zone secondsFromGMTForDate: date];   
  6.  
  7.             
  8.  
  9.         NSDate *localDate = [date  dateByAddingTimeInterval: interval];   
  10.  
  11.              
  12.  
  13.         // 打印結(jié)果 正確當(dāng)前時間 localDate = 2013-08-16 17:01:04 +0000   
  14.  
  15.         NSLog(@"正確當(dāng)前時間 localDate = %@",localDate);  

二、NSDate與NSString的轉(zhuǎn)換

  1. /*---- NSDate與NSString----*/  
  2.  
  3.          NSDateFormatter *dateFormatter =[[NSDateFormatter alloc] init];   
  4.  
  5.              
  6.  
  7.          // 設(shè)置日期格式   
  8.  
  9.          [dateFormatter setDateFormat:@"年月日 YYYY/mm/dd 時間 hh:mm:ss"];   
  10.  
  11.             
  12.  
  13.          NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];   
  14.  
  15.              
  16.  
  17.         // 打印結(jié)果:dateString = 年月日 2013/10/16 時間 05:15:43   
  18.  
  19.          NSLog(@"dateString = %@",dateString);   
  20.  
  21.              
  22.  
  23.              
  24.  
  25.          // 設(shè)置日期格式   
  26.  
  27.          [dateFormatter setDateFormat:@"YYYY-MM-dd"];   
  28.  
  29.             
  30.  
  31.          NSString *year = [dateFormatter stringFromDate:[NSDate date]];   
  32.  
  33.              
  34.  
  35.          // 打印結(jié)果:年月日 year = 2013-08-16   
  36.  
  37.          NSLog(@"年月日 year = %@",year);   
  38.  
  39.              
  40.  
  41.          // 設(shè)置時間格式   
  42.  
  43.          [dateFormatter setDateFormat:@"hh:mm:ss"];   
  44.  
  45.              
  46.  
  47.          NSString *time = [dateFormatter stringFromDate:[NSDate date]];   
  48.  
  49.              
  50.  
  51.          // 打印結(jié)果:時間 time = 05:15:43   
  52.  
  53.         NSLog(@"時間 time = %@",time);  

三、日期的比較

  1. /*----日期時間的比較----*/  
  2.  
  3.          // 當(dāng)前時間   
  4.  
  5.          NSDate *currentDate = [NSDate date];   
  6.  
  7.              
  8.  
  9.          // 比當(dāng)前時間晚一個小時的時間   
  10.  
  11.          NSDate *laterDate = [[NSDate alloc] initWithTimeInterval:60*60 sinceDate:[NSDate date]];   
  12.  
  13.              
  14.  
  15.          // 比當(dāng)前時間早一個小時的時間   
  16.  
  17.          NSDate *earlierDate = [[NSDate alloc] initWithTimeInterval:-60*60 sinceDate:[NSDate date]];   
  18.  
  19.             
  20.  
  21.          // 比較哪個時間遲   
  22.  
  23.          if ([currentDate laterDate:laterDate]) {   
  24.  
  25.              // 打印結(jié)果:current-2013-08-16 09:25:54 +0000比later-2013-08-16 10:25:54 +0000晚   
  26.  
  27.              NSLog(@"current-%@比later-%@晚",currentDate,laterDate);   
  28.  
  29.          }   
  30.  
  31.              
  32.  
  33.          // 比較哪個時間早   
  34.  
  35.          if ([currentDate earlierDate:earlierDate]) {   
  36.  
  37.              // 打印結(jié)果:current-2013-08-16 09:25:54 +0000 比 earlier-2013-08-16 08:25:54 +0000    
  38.  
  39.              NSLog(@"current-%@ 比 earlier-%@ 早",currentDate,earlierDate);   
  40.  
  41.          }   
  42.  
  43.              
  44.  
  45.          if ([currentDate compare:earlierDate]==NSOrderedDescending) {   
  46.  
  47.              // 打印結(jié)果   
  48.  
  49.              NSLog(@"current 晚");   
  50.  
  51.          }   
  52.  
  53.          if ([currentDate compare:currentDate]==NSOrderedSame) {   
  54.  
  55.              // 打印結(jié)果   
  56.  
  57.              NSLog(@"時間相等");   
  58.  
  59.          }   
  60.  
  61.          if ([currentDate compare:laterDate]==NSOrderedAscending) {   
  62.  
  63.              // 打印結(jié)果   
  64.  
  65.              NSLog(@"current 早");   
  66.  
  67.         }  
責(zé)任編輯:張葉青 來源: eoe Android開發(fā)者社區(qū)
相關(guān)推薦

2014-06-25 14:02:59

Objective-CKVO

2011-08-22 15:31:35

Objective-C協(xié)議

2011-08-16 10:23:04

Objective-CNSAutoreleaXcode常用鍵

2011-07-25 10:14:13

Objective-C Xcode

2011-07-25 10:30:41

Objective-C Xcode 重構(gòu)

2011-07-25 11:02:29

Objective-C Xcode 標(biāo)簽

2011-07-28 15:11:23

iOS Objective-

2011-07-19 17:24:31

Objective-C 對象

2011-08-04 14:58:37

Objective-C Cocoa NSString

2013-08-21 14:57:42

objective-c問題

2011-05-11 14:06:49

Objective-C

2011-08-04 10:38:17

Objective-C 預(yù)處理程序

2013-05-02 10:51:17

iOS開發(fā)Objective-C@property

2013-07-24 19:19:03

Objective-CiOS開發(fā)動態(tài)特性之protoc

2011-07-27 16:55:12

Objective-c 閉包

2011-07-25 10:03:06

Objective-C 委托

2011-08-05 14:03:39

Objective-C 對象 模板

2011-08-04 13:43:30

Objective-C 私有變量

2011-08-15 17:47:13

Objective-CisMemberOfC

2011-08-03 16:22:05

Objective-C CodeBlocks
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號