在項(xiàng)目中荷鼠,時(shí)間戳和時(shí)間相互轉(zhuǎn)換是很常見(jiàn)的事,廢話不多說(shuō)琅豆,直入正題愉豺。
先定義一個(gè)繼承與NSObject的類(lèi),在.h文件中定義以下方法趋距。
///時(shí)間戳轉(zhuǎn)化為時(shí)間 (YYYY/MM/dd)
+ (NSString*)timestampToTimeWith:(NSTimeInterval)timeInterval;
///時(shí)間轉(zhuǎn)為時(shí)間戳
+ (NSString*)timeToTimestamp:(NSString*)time;
在.m文件中實(shí)現(xiàn).h中的方法
//時(shí)間轉(zhuǎn)為時(shí)間戳
+ (NSString*)timeToTimestamp:(NSString*)time {
? ? NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
?[formattersetDateStyle:NSDateFormatterMediumStyle];
[formattersetTimeStyle:NSDateFormatterShortStyle];
?[formattersetDateFormat:@"YYYY/MM/dd"]; // ----------設(shè)置你想要的格式,hh與HH的區(qū)別:分別表示12小時(shí)制,24小時(shí)制 設(shè)置時(shí)區(qū),這個(gè)對(duì)于時(shí)間的處理有時(shí)很重要例如你在國(guó)內(nèi)發(fā)布信息,用戶在國(guó)外的另一個(gè)時(shí)區(qū),你想讓用戶看到正確的發(fā)布時(shí)間就得注意時(shí)區(qū)設(shè)置,時(shí)間的換算.例如你發(fā)布的時(shí)間為2010-01-26 17:40:50,那么在英國(guó)愛(ài)爾蘭那邊用戶看到的時(shí)間應(yīng)該是多少呢? 他們與我們有7個(gè)小時(shí)的時(shí)差,所以他們那還沒(méi)到這個(gè)時(shí)間呢...那就是把未來(lái)的事做了
? ?NSTimeZone* timeZone = [NSTimeZonetimeZoneWithName:@"Asia/Shanghai"];
? ? [formattersetTimeZone:timeZone];
?NSDate*datenow = [formatterdateFromString:time];
? ? // 時(shí)間轉(zhuǎn)時(shí)間戳的方法:
?NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970] * 1000];
//? ? NSLog(@"timeSp:%@",timeSp); //時(shí)間戳的值
?returntimeSp;
}
//時(shí)間戳轉(zhuǎn)化為時(shí)間 (YYYY/MM/dd)
+ (NSString*)timestampToTimeWith:(NSTimeInterval)timeInterval {
? ? //將對(duì)象類(lèi)型的時(shí)間轉(zhuǎn)換為NSDate類(lèi)型
? ? NSDate* myDate=[NSDatedateWithTimeIntervalSince1970:timeInterval /1000];
? ? //設(shè)置時(shí)間格式
? ? NSDateFormatter * formatter=[[NSDateFormatter alloc]init];
? ? [formattersetDateFormat:@"YYYY/MM/dd"];
? ? //將時(shí)間轉(zhuǎn)換為字符串
? ? NSString*timeStr=[formatterstringFromDate:myDate];
? ? returntimeStr;
}
如有錯(cuò)誤粒氧,請(qǐng)指出,共同改正节腐。