iOS x分鐘前/x小時前/x天前/x個月前/x年前代碼片段

在顯示一條數據更新時間的時候經常會用到,只需傳入一份 date 就能返回具體時間

#pragma mark - 計算時間
- (NSString *)lastTimeOfChat:(NSDate *)date {
    
    NSString *str = @" ";
    NSDate *nowDate = [NSDate date];
    NSTimeInterval timeInterval = [nowDate timeIntervalSinceDate:date];
    //北京時間加8小時  除以86400得到的是天數
    if ((timeInterval + 60*60*8) / 86400 > 1 && (timeInterval + 60*60*8) / 86400 < 30) {
        
        NSString *min2 =  [NSString stringWithFormat:@"%d天前",(int)(timeInterval + 60*60*8) / 86400];
        str = min2;
    }
    //今天
    else if ((timeInterval + 60*60*8) / 86400 < 1) {
        
        if (timeInterval < 60) {
            str = @"剛剛";
        }
        else if(60 < timeInterval && timeInterval < 3600){
            NSString *min2 =  [NSString stringWithFormat:@"%d分鐘前",(int)timeInterval/60];
            str = min2;
        }
        else{
            NSString *min2 =  [NSString stringWithFormat:@"%d小時前",(int)timeInterval/60/60];
            str = min2;
        }
    }
    //一個月前
    else if ((timeInterval + 60*60*8) / 86400 > 30) {
        NSString *min2 =  [NSString stringWithFormat:@"%d個月前",(int)(timeInterval + 60*60*8) / 2592000];
        str = min2;
    }
    return str;
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,287評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,270評論 0 4
  • 今天一早起來吃完早飯,就帶小家伙去金山一起讀國學,結果走到路上的時候發現他帽子不見了-_- 我:你帽子呢?...
    施麗萍閱讀 328評論 0 1
  • 或許到了二十歲,我們都會有一些類似于成熟的自我意識開始覺醒,開始慢慢懂得了一些生活的道理。 獨自一人在沈陽,與在湖...
    在雨巷撐著油紙傘閱讀 501評論 10 1