iOS标準時間與時間戳互相轉換
(2012-07-18 17:03:34)
轉載▼設定時間顯示格式:
NSString* timeStr = @"2011-01-26 17:40:50";
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------設定你想要的格式,hh與HH的差別:分别表示12小時制,24小時制
//設定時區,這個對于時間的處理有時很重要
//例如你在國内釋出資訊,使用者在國外的另一個時區,你想讓使用者看到正确的釋出時間就得注意時區設定,時間的換算.
//例如你釋出的時間為2010-01-26 17:40:50,那麼在英國愛爾蘭那邊使用者看到的時間應該是多少呢?
//他們與我們有7個小時的時差,是以他們那還沒到這個時間呢...那就是把未來的事做了
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
[formatter setTimeZone:timeZone];
NSDate* date = [formatter dateFromString:timeStr]; //------------将字元串按formatter轉成nsdate
NSDate *datenow = [NSDate date];//現在時間,你可以輸出來看下是什麼格式
NSString *nowtimeStr = [formatter stringFromDate:datenow];//----------将nsdate按formatter格式轉成nsstring
時間轉時間戳的方法:
NSString *timeSp = [NSString stringWithFormat:@"%d", (long)[datenow timeIntervalSince1970]];
NSLog(@"timeSp:%@",timeSp); //時間戳的值
時間戳轉時間的方法
NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:1296035591];
NSLog(@"1296035591 = %@",confromTimesp);
NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
NSLog(@"confromTimespStr = %@",confromTimespStr);
時間戳轉時間的方法:
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"yyyyMMddHHMMss"];
NSDate *date = [formatter dateFromString:@"1283376197"];
NSLog(@"date1:%@",date);
[formatter release];