天天看點

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

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

 (2012-07-18 17:03:34)

iOS标準時間與時間戳互相轉換
轉載▼

設定時間顯示格式:

    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];      

繼續閱讀