最進(jìn)做的項(xiàng)目用到了關(guān)于時(shí)間的知識(shí)點(diǎn),下面將學(xué)習(xí)的成果總結(jié)一下汽久,大部分有借鑒別人的鹤竭。
一、將后臺(tái)返回的時(shí)間戳轉(zhuǎn)換成時(shí)間
//時(shí)間的格式設(shè)置
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];//實(shí)例化一個(gè)NSDateFormatter對(duì)象
[formatter setDateStyle:NSDateFormatterMediumStyle];//// 顯示"中等"的日期景醇、時(shí)間風(fēng)格
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//設(shè)定時(shí)間格式,這里可以設(shè)置成自己需要的格式
NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:[news.addtime doubleValue]/1000];
NSLog(@"changTime = %@",confromTimesp);
NSString *timeString=[formatter stringFromDate:confromTimesp];
_timeLab.text=timeString;
不過(guò)一般都寫(xiě)到一個(gè)方法里
//將后臺(tái)返回的時(shí)間戳轉(zhuǎn)換成自己想要的時(shí)間格式
- (NSString *)timeWithTimeIntervalString:(NSString *)timeString
{
//時(shí)間戳轉(zhuǎn)時(shí)間臀稚,時(shí)間的格式設(shè)置
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:[timeString doubleValue]/1000];
// NSLog(@"changTime = %@",confromTimesp);
NSString *time=[formatter stringFromDate:confromTimesp];
return time;
}
補(bǔ)充:
參考博客NSDateFormatterStyle 幾種取值的區(qū)別
NSDateFormatterStyle幾種取值樣式
NSDateFormatterNoStyle
// 例如: (其實(shí)就是空白的,不顯示)
NSDateFormatterShortStyle
// 例如:下午7:00 | 15/5/19
NSDateFormatterMediumStyle
// 例如:下午7:00:00 | 2013年5月19日
NSDateFormatterLongStyle
// 例如:GMT +8下午7:00:00 | 2013年5月19日
NSDateFormatterFullStyle
// 例如:中國(guó)標(biāo)準(zhǔn)時(shí)間下午7:00:00 | 2013年5月19日 星期日
二三痰、根據(jù)今天的時(shí)間推出前幾天或者后幾天的時(shí)間
//獲取時(shí)間
調(diào)用方法
model.dateStr = [self GetDay:[NSDate date] index:i];
/*
index = 0是獲取今天的時(shí)間
index = 1是獲取明天的日期
以此往后推
*/
- (NSString *)GetDay:(NSDate *)aDate index:(NSInteger)index{
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [gregorian components:NSCalendarUnitWeekday | NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:aDate];
[components setDay:([components day]+index)];
NSDate *beginningOfWeek = [gregorian dateFromComponents:components];
NSDateFormatter *dateday = [[NSDateFormatter alloc] init];
[dateday setDateFormat:@"MM-dd"];
return [dateday stringFromDate:beginningOfWeek];
}
三吧寺、根據(jù)時(shí)間確定星期幾
model.weekStr = [self getTheDayOfTheWeekByDateString:[NSString stringWithFormat:@"2017-%@",model.dateStr]];
//根據(jù)用戶(hù)輸入的時(shí)間(dateString)確定當(dāng)天是星期幾,輸入的時(shí)間格式 yyyy-MM-dd ,如 2015-12-18
-(NSString *)getTheDayOfTheWeekByDateString:(NSString *)dateString{
NSDateFormatter *inputFormatter=[[NSDateFormatter alloc]init];
[inputFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *formatterDate=[inputFormatter dateFromString:dateString];
NSDateFormatter *outputFormatter=[[NSDateFormatter alloc]init];
[outputFormatter setDateFormat:@"EEEE-MMMM-d"];
NSString *outputDateStr=[outputFormatter stringFromDate:formatterDate];
NSArray *weekArray=[outputDateStr componentsSeparatedByString:@"-"];
return [weekArray objectAtIndex:0];
}