關于兩個時間差的計算

計算一個時間距離現(xiàn)在的時間過了多長的時間早敬,單位為天,小時乌逐、分鐘逻住、秒數(shù)

以天為單位計算

// 計算相差了幾天

- (int)intervalSinceNow: (NSString *) theDate

{

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

[date setDateFormat:@"yyyy-MM-dd HH:mm zzz"];

NSDate *d=[date dateFromString:theDate];

NSTimeInterval late=[d timeIntervalSince1970]*1;

NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];

NSTimeZone *zone = [NSTimeZone systemTimeZone];

NSInteger interval = [zone secondsFromGMTForDate: dat];

NSDate *localDate = [dat? dateByAddingTimeInterval:interval];

NSTimeInterval now=[localDate timeIntervalSince1970]*1;

NSString *timeString=@"";

NSTimeInterval cha=now-late;

if (cha/86400>1)

{

timeString = [NSString stringWithFormat:@"%f", cha/86400];

timeString = [timeString substringToIndex:timeString.length-7];

return [timeString intValue];

}

return -1;

}


時間和字符串互換轉(zhuǎn)換:

+ (NSString *)stringFromDate:(NSDate *)date{

NSTimeZone *zone = [NSTimeZone systemTimeZone];

NSInteger interval = [zone secondsFromGMTForDate: date];

NSDate *localDate = [date? dateByAddingTimeInterval:interval];

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

//zzz表示時區(qū),zzz可以刪除创肥,這樣返回的日期字符將不包含時區(qū)信息达舒。

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm zzz"];

//? ? [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];

NSString *destDateString = [dateFormatter stringFromDate:localDate];

return destDateString;

};


為了避免其中時間區(qū)域造成的誤差范圍盡可能的縮小采用一個時區(qū)類別記錄

NSTimeZone *zone = [NSTimeZone systemTimeZone];

NSInteger interval = [zone secondsFromGMTForDate: date];

NSDate *localDate = [date? dateByAddingTimeInterval:interval];

每次處理的Date都是時區(qū)格式化之后的時間叹侄,以便于計算誤差減小巩搏。


兩個時間之差

- (NSString *)intervalFromLastDate: (NSString *) dateString1? toTheDate:(NSString *) dateString2

{

NSArray *timeArray1=[dateString1 componentsSeparatedByString:@"."];

dateString1=[timeArray1 objectAtIndex:0];

NSArray *timeArray2=[dateString2 componentsSeparatedByString:@"."];

dateString2=[timeArray2 objectAtIndex:0];

NSLog(@"%@.....%@",dateString1,dateString2);

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

[date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSDate *d1=[date dateFromString:dateString1];

NSTimeInterval late1=[d1 timeIntervalSince1970]*1;

NSDate *d2=[date dateFromString:dateString2];

NSTimeInterval late2=[d2 timeIntervalSince1970]*1;

NSTimeInterval cha=late2-late1;

NSString *timeString=@"";

NSString *house=@"";

NSString *min=@"";

NSString *sen=@"";

sen = [NSString stringWithFormat:@"%d", (int)cha%60];

//? ? ? ? min = [min substringToIndex:min.length-7];

//? ? 秒

sen=[NSString stringWithFormat:@"%@", sen];

min = [NSString stringWithFormat:@"%d", (int)cha/60%60];

//? ? ? ? min = [min substringToIndex:min.length-7];

//? ? 分

min=[NSString stringWithFormat:@"%@", min];

//? ? 小時

house = [NSString stringWithFormat:@"%d", (int)cha/3600];

//? ? ? ? house = [house substringToIndex:house.length-7];

house=[NSString stringWithFormat:@"%@", house];

timeString=[NSString stringWithFormat:@"%@:%@:%@",house,min,sen];

return timeString;

}


一個時間距現(xiàn)在的時間

- (NSString *)intervalSinceNow: (NSString *) theDate

{

NSArray *timeArray=[theDate componentsSeparatedByString:@"."];

theDate=[timeArray objectAtIndex:0];

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

[date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSDate *d=[date dateFromString:theDate];

NSTimeInterval late=[d timeIntervalSince1970]*1;

NSDate* dat = [NSDate date];

NSTimeInterval now=[dat timeIntervalSince1970]*1;

NSString *timeString=@"";

NSTimeInterval cha=late-now;

if (cha/3600<1) { // 分鐘

timeString = [NSString stringWithFormat:@"%f", cha/60];

timeString = [timeString substringToIndex:timeString.length-7];

timeString=[NSString stringWithFormat:@"剩余%@分", timeString];

}

if (cha/3600>1&&cha/86400<1) { ?// 小時

timeString = [NSString stringWithFormat:@"%f", cha/3600];

timeString = [timeString substringToIndex:timeString.length-7];

timeString=[NSString stringWithFormat:@"剩余%@小時", timeString];

}

if (cha/86400>1) // 天

{

timeString = [NSString stringWithFormat:@"%f", cha/86400];

timeString = [timeString substringToIndex:timeString.length-7];

timeString=[NSString stringWithFormat:@"剩余%@天", timeString];

}

return timeString;

}

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市趾代,隨后出現(xiàn)的幾起案子贯底,更是在濱河造成了極大的恐慌,老刑警劉巖撒强,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件禽捆,死亡現(xiàn)場離奇詭異,居然都是意外死亡飘哨,警方通過查閱死者的電腦和手機胚想,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杖玲,“玉大人,你說我怎么就攤上這事淘正“诼恚” “怎么了?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵鸿吆,是天一觀的道長囤采。 經(jīng)常有香客問我,道長惩淳,這世上最難降的妖魔是什么蕉毯? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任乓搬,我火速辦了婚禮,結(jié)果婚禮上代虾,老公的妹妹穿的比我還像新娘进肯。我一直安慰自己,他們只是感情好棉磨,可當我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布江掩。 她就那樣靜靜地躺著,像睡著了一般乘瓤。 火紅的嫁衣襯著肌膚如雪环形。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天衙傀,我揣著相機與錄音抬吟,去河邊找鬼。 笑死统抬,一個胖子當著我的面吹牛火本,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蓄喇,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼发侵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了妆偏?” 一聲冷哼從身側(cè)響起刃鳄,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钱骂,沒想到半個月后叔锐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡见秽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年愉烙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片解取。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡步责,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出禀苦,到底是詐尸還是另有隱情蔓肯,我是刑警寧澤,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布振乏,位于F島的核電站蔗包,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏慧邮。R本人自食惡果不足惜调限,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一舟陆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧耻矮,春花似錦秦躯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至米母,卻和暖如春勾扭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铁瞒。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工妙色, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人慧耍。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓身辨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芍碧。 傳聞我的和親對象是個殘疾皇子煌珊,可洞房花燭夜當晚...
    茶點故事閱讀 43,435評論 2 348

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