ios獲得時間小時的方法


今天有個新手在群里問這問題,我也是新手,記得以前看過時間類就寫的這2種方法給他。

 

方法一:

NSDate *date = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *components = [cal components:NSHourCalendarUnit fromDate:date];

NSString *strHour = [NSString stringWithFormat:@"hour is %d", [components hour]];

 

方法二:

NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"HH"];
NSString *strHour = [dateFormatter stringFromDate:date];

 

  

NSDateFormatter調整時間格式的代碼

有時候需要將時間格式調整成自己希望的格式,這個時候我們可以用NSDateFormatter類來處理。
例如:
//實例化一個NSDateFormatter對象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

//設定時間格式,這里可以設置成自己需要的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

//[NSDate date]可以獲取系統當前時間
NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];

//輸出格式為:2010-10-27 10:22:13
NSLog(@”%@”,currentDateStr);

//alloc后對不使用的對象別忘了release
[dateFormatter release];

 

 

NSDateComponents

NSDateComponents封裝在一個可擴展的,面向對象的方式的日期組件。它是用來彌補時間的日期和時間組件提供一個指定日期:小時,分鍾,秒,日,月,年,等等。它也可以用來指定的時間,例如,5小時16分鍾。一個NSDateComponents對象不需要定義所有組件領域。當一個NSDateComponents的新實例被創建,日期組件被設置為NSUndefinedDateComponent

 

一個NSDateComponents對象本身是毫無意義的;你需要知道它是針對什么日歷解釋,你需要知道它的值是否是正整數和值是多少。

 

NSDateComponents的實例不負責回答關於一個日期以外的信息,它是需要先初始化的。例如,如果你初始化一個對象為200456日,其星期幾NSUndefinedDateComponent,不是星期四。要得到正確的星期幾,你必須創建一個NSCalendar日歷實例,創建一個NSDate對象並使用dateFromComponents:方法,然后使用components:fromDate:檢索平周幾

 

Getting Information About an NSDateComponents Object

獲取一個NSDateComponents對象的信息

  • – era 時代
  • – year 
  • – month 
  • – day 
  • – hour 
  • – minute 
  • – second 
  • – week
  • – weekday
  • – weekdayOrdinal
  • – quarter 季度

 

Setting Information for an NSDateComponents Object

設置一個NSDateComponents對象的信息

  • – setEra:
  • – setYear:
  • – setMonth:
  • – setDay:
  • – setHour:
  • – setMinute:
  • – setSecond:
  • – setWeek:
  • – setWeekday:
  • – setWeekdayOrdinal:
  • – setQuarter:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM