有時會遇到這樣的問題,需要把時間和時間戳互相轉換
比如把當前時間轉換成 “20140716155436”這樣的格式
或者是把“20140716155436”轉換成“2014-07-16 15:54:36”
首先來第一個:
當前時間轉換成 “20140716155436”這樣的格式
///////////////////////////////
//獲取當前時間
NSDate * today = [NSDate date];
NSLog(@"%@",today);
打印出來是“2014-07-16 07:54:36 +0000”
很奇怪?現在明明是2014-07-16 15:54:36啊
因為存在不同時區,系統默認格林尼治時間
所以就要轉換時間格式了
//轉換時間格式
NSDateFormatter *df = [[NSDateFormatter alloc] init];//格式化
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString * s1 = [df stringFromDate:today];
NSLog(@" s1s1s1s%@",s1);
打印出來是“2014-07-16 15:54:36”
現在已經獲取到當前的時間
這樣還沒有完呢,需要轉換成一個字符串,類似“20140716052021”的時間戳
NSDate * date = [df dateFromString:s1];
//轉換時間格式
NSDateFormatter *df2 = [[NSDateFormatter alloc] init];//格式化
[df2 setDateFormat:@"yyyyMMddHHmmss"];
[df2 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];
NSLog(@"%@",[df2 stringFromDate:date]);
打印出來是“20140716155436”把“20140716155436”轉換成“2014-07-16 15:54:36”
首先要把20140716155436轉換成時間格式
//轉換時間格式
NSDateFormatter *df = [[NSDateFormatter alloc] init];//格式化
[df setDateFormat:@"yyyyMMddHHmmss"];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"] ];
NSDate *date =[[NSDate alloc]init];
date =[df dateFromString:bill_timeStr];
str = [NSString stringWithFormat:@"%@",date];
str的結果是“2014-07-16 07:54:36 +0000”
這時候就需要再轉一次
//
NSDateFormatter * df2 = [[NSDateFormatter alloc] init];
[df2 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString * str1 = [df2 stringFromDate:date];
str1的結果是“2014-07-16 15:54:36”
ok,大功告成