iOS_OC NSDate / NSString 相互轉換


1 時間的獲取

  NSDate *date = [NSDate date]; 獲取GMT時間。

  NSTimeZone *zone =  [NSTimeZone systemTimeZone]; 獲得系統時區

    NSTimeZone *localTime = [NSTimeZone localTimeZone]; 獲取本地時區

  NSInteger timeOff = [zone secondsFromGMT]; zone時區和格林尼治時間差

  NSDate *timeOffDate = [date dateByAddingTimeInterval:timeOff]; 時間轉換

  注:GMT 0:00 格林威治標准時間; UTC +00:00 校准的全球時間; CCD +08:00 中國標准時間 [來自百度百科]

 

2 獲取當前時間的各種信息

  NSCalendar *calendar = [NSCalendar currentCalendar];

  NSDate *startDate = [NSDate new];

  NSDateComponents *dateComps = [cal components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:startDate];

  int year = [dateComps year];

  int month = [dateComps month];

  int day = [dateComps day];

  int hour = [dateComps hour];

  int minute = [dateComps minute];

  int second = [dateComps second];

  NSLog(@"%d-%d-%d-%d-%d-%d",year,month,day,hour,minute,second);   顯示的是本地時區的時間

  NSDate *newDate = [cal dateFromComponents:dateComps];    這個時間是GTM時間

  NSRange range = [calendarrangeOfUnit:NSDayCalendarUnitinUnit:NSMonthCalendarUnitforDate:[NSDatedate]];

  NSUInteger numberOfDaysInMonth = range.length;   獲取當前月份的天數

 

3 NSString/NSDate 之間的轉換

  NSDateFormatter *dataFormant = [[NSDateFormatter alloc] init];

  [dataFormant setDateFormat: @"yyyy-MM-dd HH:mm:ss.S"];   

  NSString *dateStr = [dataFormant stringFromDate:[NSDate new]]; 顯示:2016-10-31 10:21:30.5

  兩者之間的轉換都用到了了NSDateFormatter,類型差不多,設置好格式后,用stringFromDate或者dateFromString進行轉換

  注意:NSString轉NSDate時,注意待轉換的NSString格式應該和設置的轉換格式相同。

 

  格式化參數如下:
  G: 公元時代,例如AD公元
  yy: 年的后2位
  yyyy: 完整年  
  MM: 月,顯示為1-12
  MMM: 月,顯示為英文月份簡寫,如 Jan//跟系統語言版本有關系,中文顯示“3月”,英文顯示“Jan”

  MMMM: 月,顯示為英文月份全稱,如 Janualy//跟系統語言版本有關系,中文顯示“3月”,英文顯示“Jan”

  dd: 日,2位數表示,如02
  d: 日,1-2位顯示,如 2
  EEE: 簡寫星期幾,如Sun
  EEEE: 全寫星期幾,如Sunday
  aa: 上下午,AM/PM
  H: 時,24小時制,0-23
  K:時,12小時制,0-11
  m: 分,1-2位
  mm: 分,2位
  s: 秒,1-2位
  ss: 秒,2位
  S: 毫秒

 

  

 

 


免責聲明!

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



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