时间处理

作者: 失忆的程序员 | 来源:发表于2023-03-06 10:31 被阅读0次

时间处理

+ (NSString *)convertDateToStr:(NSDate *)date
{
    if (!date) {
        return nil;
    }
    
    if ([date isEqualToDate:[NSDate distantPast]]) {
        return @"";
    }
    
    NSDateFormatter *dateFmt = [[NSDateFormatter alloc] init];

    NSCalendar *calendar = [NSCalendar currentCalendar];
    calendar.firstWeekday = 7;
    NSDateComponents *nowComponent = [calendar components:NSCalendarUnitDay|NSCalendarUnitMonth|NSCalendarUnitYear|NSCalendarUnitWeekOfMonth fromDate:NSDate.new];
    NSDateComponents *dateCompoent = [calendar components:NSCalendarUnitDay|NSCalendarUnitMonth|NSCalendarUnitYear|NSCalendarUnitWeekOfMonth fromDate:date];
    
    if (nowComponent.year == dateCompoent.year) {
        // Same year
        if (nowComponent.month == dateCompoent.month) {
            // Same month
            if (nowComponent.weekOfMonth == dateCompoent.weekOfMonth) {
                // Same week
                if (nowComponent.day == dateCompoent.day) {
                    // Same day
                    dateFmt.dateFormat = @"HH:mm";
                } else {
                    // Not same day
                    dateFmt.dateFormat = @"EEEE";
                }
            } else {
                // Not same weeek
                dateFmt.dateFormat = @"MM/dd";
            }
        } else {
            // Not same month
            dateFmt.dateFormat = @"MM/dd";
        }
    } else {
        // Not same year
        dateFmt.dateFormat = @"yyyy/MM/dd";
    }
    
    NSString *str = [dateFmt stringFromDate:date];
    return str;
}

----------- ----------- -----------

图片.png

相关文章

  • 时间处理:

    方法一: 时间类型 (例如:2017-01-01)在做时间处理的时候我们可以在数据库中将时间字段使用 bi...

  • 时间处理

    1.获取每周日0点的时间戳

  • 时间处理

    时间戳:(Unix timestamp),一种时间表示方式,从格林威治时间1970年01月01日00时00分00秒...

  • 处理时间

    当周围的有人忙忙碌碌时,不要受其影响,因为慌乱后的行为会散发出不可估量的愚蠢气味 有安逸生活时,就好好享受此时的安...

  • 处理时间

    /** * 处理时间 */ - (NSString *)timeWithTimeIntervalString:(N...

  • 处理时间

    时间字符串的处理 这个是从网上找的例子,自己记录下来 输出结果如下

  • 处理时间

    var oDate=new Date();//获取时间Thu Jan 12 2017 14:39:16 GMT+0...

  • 时间处理

    多线程使用DateFormat [Joda-Time] 是一个很棒的开源的 JDK 的日期和日历 API 的替代品...

  • 时间处理

    pandas小记:pandas时间序列分析和处理Timeserieshttps://blog.csdn.net/p...

  • 时间处理

网友评论

    本文标题:时间处理

    本文链接:https://www.haomeiwen.com/subject/cgkmldtx.html