时间与NSString转换

//传进来时间字符串转换

+ (NSString *) getChatTimeString:(NSString *)timeString {

    if (timeString==nil || timeString.length==0 || [timeString isEqualToString:@"0"]||timeString.length < 10) {

#warning XXX

        return @"";

    }

/**将字符串转换成时间*/

    NSDate *timeDate = [CommonFunction getCurrentStringAsDate:timeString];

    NSTimeInterval secondsPerDay = 24 * 60 * 60;

    NSDate *date = [NSDate date];

    NSDate *qian = [date dateByAddingTimeInterval: - 2 * secondsPerDay];

    NSDate *yesterday = [date dateByAddingTimeInterval: -secondsPerDay];

    

    NSString * todayString = [[date description] substringToIndex:10];

    NSString * yesterdayString = [[yesterday description] substringToIndex:10];

    NSString * qianString = [[qian description] substringToIndex:10];

    NSString * dateString = [[timeDate description] substringToIndex:10];

    

    NSString *year1 = [todayString substringWithRange:NSMakeRange(0, 4)];

    NSString *year2 = [timeString substringWithRange:NSMakeRange(0, 4)];

    if ([dateString isEqualToString:todayString]&& timeString.length>=16)//是否等于今天

    {

//        return [timeString substringWithRange:NSMakeRange(11, 5)];

        return [NSString stringWithFormat:@"今天 %@",[timeString substringWithRange:NSMakeRange(11, 5)]];

    } else if ([dateString isEqualToString:yesterdayString])//是否等于昨天

    {

        return [NSString stringWithFormat:@"昨天 %@",[timeString substringWithRange:NSMakeRange(11, 5)]];

    }else if ([dateString isEqualToString:qianString])//是否等于前天

    {

        return [NSString stringWithFormat:@"前天 %@",[timeString substringWithRange:NSMakeRange(11, 5)]];

    }

    else

    {

        if (![year1 isEqualToString:year2]) {

            return timeString;

        }

        return [timeString substringWithRange: NSMakeRange(5, 11)];

    }

//系统时间转换 

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

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

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

    NSDate *dateString = [dateFormatter dateFromString:date];

    return dateString;

}

//获取当前时间日期,返回字符串

+ (NSString *) getCurrentDateAsString {

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

    [dateFormatter setDateFormat: @"YYYY-MM-dd HH:mm:ss"];

    NSString *dateString = [dateFormatter stringFromDate: [NSDate date]];

    return dateString;

}

posted @   TheYouth  阅读(238)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示