iOS中NSDate常用轉(zhuǎn)換操作整合

原文出處http://blog.csdn.net/feng2qing/article/details/54974128

//當(dāng)前時(shí)間格式化, 例:YYYY-MM-dd-EEEE-HH:mm:ss+ (NSString*)getCurrentDataWithDateFormate:(NSString*)formate

{NSDate*now = [NSDatedate];return[selfdateFormattingWithDate:now toFormate:formate];

}//任意NSDate格式化+ (NSString*)dateFormattingWithDate:(NSDate*)date toFormate:(NSString*)formate

{

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:formate];return[formatter stringFromDate:date];

}//獲取當(dāng)天0點(diǎn)時(shí)間+ (NSDate*)returnToDay0Clock

{NSDate*now = [NSDatedate];NSCalendar*calender = [NSCalendarcurrentCalendar];

NSUInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

NSDateComponents *dateComponent = [calender components:unitFlags fromDate:now];inthour = (int)[dateComponent hour];intminute = (int)[dateComponent minute];intsecond = (int)[dateComponent second];//當(dāng)前時(shí)分秒:hour,minute,second//返回當(dāng)前時(shí)間(hour * 3600 + minute * 60 + second)之前的時(shí)間,即為今天凌晨0點(diǎn)NSDate*nowDay = [NSDatedateWithTimeIntervalSinceNow: - (hour *3600+ minute *60+ second)];longlonginter = [nowDay timeIntervalSince1970] *1000;NSDate*newDate = [NSDatedateWithTimeIntervalSince1970:inter /1000];returnnewDate;

}//獲取當(dāng)天24點(diǎn)時(shí)間+ (NSDate*)returnToDay24Clock

{NSDate*now = [NSDatedate];NSCalendar*calender = [NSCalendarcurrentCalendar];

NSUInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

NSDateComponents *dateComponent = [calender components:unitFlags fromDate:now];inthour = (int)[dateComponent hour];intminute = (int)[dateComponent minute];intsecond = (int)[dateComponent second];//一天是60分鐘 * 60秒 * 24小時(shí) = 86400秒NSDate*nextDay = [NSDatedateWithTimeIntervalSinceNow: - (hour *3600+ minute *60+ second) +86400];returnnextDay;

}//獲取當(dāng)前秒數(shù)+ (longlong)getCurrentDateSecond

{return[[NSDatedate] timeIntervalSince1970];

}//NSDate轉(zhuǎn)秒+ (longlong)dateTosecond:(NSDate*)date

{return[date timeIntervalSince1970];

}//秒轉(zhuǎn)NSDate+ (NSDate*)secondToDate:(longlong)second

{return[NSDatedateWithTimeIntervalSince1970:second];

}//是否是12小時(shí)制; YES:12小時(shí)制 / NO:24小時(shí)制+ (BOOL)is12HourSystem

{NSString*formatStringForHour = [NSDateFormatter dateFormatFromTemplate:@"j"options:0locale:[NSLocale autoupdatingCurrentLocale]];NSRangecontains = [formatStringForHour rangeOfString:@"a"];BOOLis12HourSystem = contains.location!=NSNotFound;returnis12HourSystem;

}//朋友圈/聊天 時(shí)間顯示樣式+ (NSString*)dateDisplayResult:(longlong)secondCount

{NSDate*date = [selfsecondToDate:secondCount];NSCalendar*calender = [NSCalendarcurrentCalendar];//判斷是否是今天if([calender isDateInToday:date]) {longlongdateSecondCount = [[NSDatedate] timeIntervalSinceDate:date];if(dateSecondCount <60) {return@"剛剛";

}if(dateSecondCount < (60*60)) {return[NSStringstringWithFormat:@"%d分鐘前",(int)(dateSecondCount /60)];

}return[NSStringstringWithFormat:@"%d小時(shí)前",(int)(dateSecondCount / (60*60))];

}//判斷是否是昨天NSString*formatterString = @" HH:mm";if([calender isDateInYesterday:date]) {

formatterString = [@"昨天"stringByAppendingString:formatterString];

}else{//判斷是否是一年內(nèi)formatterString = [@"MM-dd"stringByAppendingString:formatterString];//判斷是否值一年之前NSDateComponents *component = [calender components:NSCalendarUnitYear fromDate:date toDate:[NSDatedate] options:NSCalendarWrapComponents];if(component.year>=1) {

formatterString = [@"YYYY-"stringByAppendingString:formatterString];

}

}

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:formatterString];

formatter.locale= [NSLocale localeWithLocaleIdentifier:@"en"];return[formatter stringFromDate:date];

}//比較兩個(gè)NsDate對(duì)象的時(shí)間差+ (CompareResult *)compareDateDifferenceDate1:(NSDate*)date1 date2:(NSDate*)date2

{

CompareResult *result = [[CompareResult alloc] init];

result.value= (fabs([date1 timeIntervalSinceDate:date2]));

result.trend= [date1 compare:date2];returnresult;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容