1. 程式人生 > >iOS標準時間與時間戳相互轉換

iOS標準時間與時間戳相互轉換

轉自:http://blog.csdn.net/ios_che/article/details/8090977

  1. 設定時間顯示格式:  
  2.     NSString* timeStr = @"2011-01-26 17:40:50";  
  3.     NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];  
  4.     [formatter setDateStyle:NSDateFormatterMediumStyle];  
  5.     [formatter setTimeStyle:NSDateFormatterShortStyle];     
  6.     [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------設定你想要的格式,hh與HH的區別:分別表示12小時制,24小時制
  7.     //設定時區,這個對於時間的處理有時很重要
  8.     //例如你在國內釋出資訊,使用者在國外的另一個時區,你想讓使用者看到正確的釋出時間就得注意時區設定,時間的換算.
  9.     //例如你釋出的時間為2010-01-26 17:40:50,那麼在英國愛爾蘭那邊使用者看到的時間應該是多少呢?
  10.     //他們與我們有7個小時的時差,所以他們那還沒到這個時間呢...那就是把未來的事做了
  11.     NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"
    ];  
  12.     [formatter setTimeZone:timeZone];  
  13.     NSDate* date = [formatter dateFromString:timeStr]; //------------將字串按formatter轉成nsdate
  14.     NSDate *datenow = [NSDate date];//現在時間,你可以輸出來看下是什麼格式
  15.     NSString *nowtimeStr = [formatter stringFromDate:datenow];//----------將nsdate按formatter格式轉成nsstring
  16. 時間轉時間戳的方法:  
  17.     NSString *timeSp = [NSString stringWithFormat:@"%d", (long)[datenow timeIntervalSince1970]];  
  18.     NSLog(@"timeSp:%@",timeSp); //時間戳的值
  19.  時間戳轉時間的方法  
  20.     NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:1296035591];  
  21.     NSLog(@"1296035591  = %@",confromTimesp);        
  22.     NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];  
  23.     NSLog(@"confromTimespStr =  %@",confromTimespStr);  
  24. 時間戳轉時間的方法:  
  25. NSDateFormatter* formatter = [[NSDateFormatter alloc] init];  
  26. [formatter setDateStyle:NSDateFormatterMediumStyle];  
  27. [formatter setTimeStyle:NSDateFormatterShortStyle];  
  28. [formatter setDateFormat:@"yyyyMMddHHMMss"];  
  29. NSDate *date = [formatter dateFromString:@"1283376197"];  
  30. NSLog(@"date1:%@",date);  
  31. [formatter release];