ios 計(jì)算任意一個(gè)時(shí)間距離現(xiàn)在的時(shí)間差

1映胁、兩種方法

1 傳統(tǒng)方法

NSDate *nowDate = [NSDate date]; // 當(dāng)前日期
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH-mm-ss";
NSDate *creat = [formatter dateFromString:(任意時(shí)間)];// 將傳入的字符串轉(zhuǎn)化成時(shí)間
NSTimeInterval delta = [nowDate timeIntervalSinceDate:creat]; // 計(jì)算出相差多少秒 
//打印結(jié)果格式為 delta ==== 181078.541819

2 便捷方法

NSDate *nowDate = [NSDate date]; // 當(dāng)前時(shí)間
    
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH-mm-ss";
NSDate *creat = [formatter dateFromString:creat_time]; // 傳入的時(shí)間  

// 這里有個(gè)需要注意的地方,不要將時(shí)間戳的字符串直接作為creat_time 翻具,如果是時(shí)間戳,那么
 NSString *timeString = @"1532754000"; // 時(shí)間戳字符串
NSTimeInterval time=[timeString doubleValue]/1000;//傳入的時(shí)間戳str如果是精確到毫秒的記得要/1000 (注意: 這句話不要全盤復(fù)制回还,如果傳入的時(shí)間戳沒有精確到毫秒不要除1000)
NSDate *creat =[NSDate dateWithTimeIntervalSince1970:time];
    
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit unit = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
NSDateComponents *compas = [calendar components:unit fromDate:creat toDate:nowDate options:0];
NSLog(@"year=%zd  month=%zd  day=%zd hour=%zd  minute=%zd",compas.year,compas.month,compas.day,compas.hour,compas.minute);

2.封裝一些簡(jiǎn)單實(shí)用的方法裆泳,NSDate的分類

import "NSDate+Extension.h"

#import <Foundation/Foundation.h>

@interface NSDate (Extension)

/**
 *傳入時(shí)間與當(dāng)前時(shí)間的差值
 */
- (NSDateComponents *)deltaFrom:(NSDate *)date;

/**
 *是否為今年
 */
- (BOOL)isThisYear;

/**
 *是否為今天
 */
- (BOOL)isToday;

/**
 *是否為昨天
 */
- (BOOL)isYestoday;

/**
 *返回只有年月日的時(shí)間
 */
- (NSDate *)dateWithYMD;

import "NSDate+Extension.m"

#import "NSDate+Extension.h"

@implementation NSDate (Extension)

- (NSDateComponents *)deltaFrom:(NSDate *)date{
    
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSCalendarUnit unit = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
    NSDateComponents *compas = [calendar components:unit fromDate:self toDate:date options:0];
    
    return compas;
}



- (BOOL)isThisYear{
    
    // 日歷
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSInteger nowYear = [calendar component:NSCalendarUnitYear fromDate:[NSDate date]];
    NSInteger selfYear = [calendar component:NSCalendarUnitYear fromDate:self];
    return nowYear == selfYear;
}

// 第一種方法
//- (BOOL)isToday{
//    // 日歷
//    NSCalendar *calendar = [NSCalendar currentCalendar];
//    NSCalendarUnit unit = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear;
//    NSDateComponents *nowComp = [calendar components:unit fromDate:[NSDate date]];
//    NSDateComponents *selfComp = [calendar components:unit fromDate:self];

//    return nowComp.year == selfComp.year
//    && nowComp.month == selfComp.month
//    && nowComp.day == selfComp.day;
//}

// 第二種方法
- (BOOL)isToday{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd";
    NSString *nowString = [formatter stringFromDate:[NSDate date]];
    NSString *selfString = [formatter stringFromDate:self];
    return nowString == selfString;
}


- (BOOL)isYestoday{
    NSDate *nowDate = [[NSDate date] dateWithYMD];
    NSDate *selfDate = [self dateWithYMD];
    // 獲得nowDate和selfDate的差距、
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *cmps = [calendar components:NSCalendarUnitDay fromDate:selfDate toDate:nowDate options:0];
    return cmps.day == 1;
}


- (NSDate *)dateWithYMD{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd";
    NSString *selfString = [formatter stringFromDate:self];
    return [formatter dateFromString:selfString];
}



@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末柠硕,一起剝皮案震驚了整個(gè)濱河市工禾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蝗柔,老刑警劉巖闻葵,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異诫咱,居然都是意外死亡笙隙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門坎缭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人签钩,你說我怎么就攤上這事掏呼。” “怎么了铅檩?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵憎夷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我昧旨,道長(zhǎng)拾给,這世上最難降的妖魔是什么祥得? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮蒋得,結(jié)果婚禮上级及,老公的妹妹穿的比我還像新娘。我一直安慰自己额衙,他們只是感情好饮焦,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著窍侧,像睡著了一般县踢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上伟件,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天硼啤,我揣著相機(jī)與錄音,去河邊找鬼斧账。 笑死谴返,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的其骄。 我是一名探鬼主播亏镰,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼拯爽!你這毒婦竟也來了索抓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤毯炮,失蹤者是張志新(化名)和其女友劉穎逼肯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桃煎,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篮幢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了为迈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片三椿。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖葫辐,靈堂內(nèi)的尸體忽然破棺而出搜锰,到底是詐尸還是另有隱情,我是刑警寧澤耿战,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布蛋叼,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏狈涮。R本人自食惡果不足惜狐胎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望歌馍。 院中可真熱鬧握巢,春花似錦、人聲如沸骆姐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玻褪。三九已至肉渴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間带射,已是汗流浹背同规。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窟社,地道東北人券勺。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像灿里,于是被迫代替她去往敵國(guó)和親关炼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫匣吊、插件儒拂、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,121評(píng)論 4 61
  • 和一般步行街無二樣,五湖四海的小吃真不少色鸳。湖南臭豆腐的味真是“臭”了一條街社痛。街較長(zhǎng),光三福不下三個(gè)命雀,夜晚繁華蒜哀。 不...
    花草的暗香閱讀 162評(píng)論 0 0
  • 瑯秀下凡來, 遙遙接玉杯吏砂。 兩峰脅綠燃撵儿, 一水帶紅飛。
    慢美好閱讀 418評(píng)論 0 0
  • 周末不午睡狐血,晚上都入睡比較早统倒,8點(diǎn)上床,已經(jīng)睡著了氛雪,懷里還緊緊抱著我的紫色衛(wèi)衣:去年9月份分床,經(jīng)歷過初期不適應(yīng)的...
    疼福媽閱讀 187評(píng)論 0 0
  • 王爍的此文給我第一感覺是:無小事耸成,所有小事都會(huì)潛入而影響直覺判斷报亩。白天的事浴鸿,夜里寧靜時(shí)反思,可能會(huì)難受弦追,“復(fù)盤”才...
    25f1ef052e12閱讀 412評(píng)論 0 0