iOS 與時間相關(guān)的處理

  • 類似朋友圈發(fā)布時間顯示(剛剛... 多少分鐘多少小時前 昨天)
    - (NSString *)transformDateStrToMinutes:(NSString *)dateStr {

        NSDateFormatter *date=[[NSDateFormatter alloc] init];
        [date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        NSDate *d=[date dateFromString:dateStr];
        NSTimeInterval late=[d timeIntervalSince1970]*1;
    
        //當(dāng)前時間
        NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
        NSTimeInterval now=[dat timeIntervalSince1970]*1;
    
        //單位是秒
        NSTimeInterval cha=now-late;
        NSString *timeString= @"";
        if (cha / 3600 < 1) {
            //小時
            timeString = [NSString stringWithFormat:@"%f", cha/60];
            //        NSLog(@"timeString%@",timeString);
            timeString = [timeString substringToIndex:timeString.length-7];
            int num= [timeString intValue];
            if (num <= 1) {
                 timeString = [NSString stringWithFormat:@"剛剛..."];
                //                NSLog(@"timeString = %@",timeString);
            }else{
                timeString = [NSString stringWithFormat:@"%@分鐘前", timeString];
                //                NSLog(@"timeString = %@",timeString);
            }
         }
          //86400=1天
          if (cha / 3600 > 1 && cha / 86400 < 1){
              timeString = [NSString stringWithFormat:@"%f", cha/3600];
            timeString = [timeString substringToIndex:timeString.length-7];
            timeString=[NSString stringWithFormat:@"%@小時前", timeString];
            //            NSLog(@"timeString = %@",timeString);
          }
          if (cha/86400>1){
              timeString = [NSString stringWithFormat:@"%f", cha/86400];
            timeString = [timeString substringToIndex:timeString.length-7];
            int num=[timeString intValue];
            if (num<2){
                timeString = [NSString stringWithFormat:@"昨天"];
                //                NSLog(@"timeString = %@",timeString);
            }else {
                  NSString * secondStr  = [dateStr substringFromIndex:5];
                timeString = [secondStr substringToIndex:11];
            }
          }
        return timeString;
    }
    
  • 時間戳轉(zhuǎn)化為時間NSDate
    - (NSString *)timeWithTimeIntervalString:(NSString )timeString
    {
    // 格式化時間
    NSDateFormatter
    formatter =[[NSDateFormatter alloc] init];
    formatter.timeZone = [NSTimeZone timeZoneWithName:@"beijing"];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

        // 毫秒值轉(zhuǎn)化為秒
        NSDate* date = [NSDate dateWithTimeIntervalSince1970:[timeString doubleValue]/ 1000.0];
        NSString* dateString = [formatter stringFromDate:date];
        return dateString;
    }
    
  • 將時間戳轉(zhuǎn)化成具體時間字符串(具體到秒)
    - (NSString *)transformTimeStampToTimeStr:(NSString *)timeStamp {
    NSString *time = [NSString stringWithFormat:@"%f",[timeStamp doubleValue]];

        NSInteger num = [time integerValue]/1000;
    
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    
        [formatter setDateStyle:NSDateFormatterMediumStyle];
    
        [formatter setTimeStyle:NSDateFormatterShortStyle];
    
        [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    
        NSDate * confromTimesp = [NSDate dateWithTimeIntervalSince1970:num];
        NSString * confromTimespStr = [formatter stringFromDate:confromTimesp];
        return confromTimespStr;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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