IOS 日期的簡潔格式展示,ios展示

來源:互聯網
上載者:User

IOS 日期的簡潔格式展示,ios展示

首先我要解釋一下標題的意義,日期的簡潔格式展示,之所以簡介,是因為讓人一目瞭然,不需要思考是什麼時候。

在詳細一點就是我們在朋友圈中 所看到的時間格式。

例如:剛剛 -幾分鐘前-幾小時前等等。

今天這裡帶來的是一個簡單的類別。

方便實用。

以及簡單的實際應用。

先看看一看類別是什麼樣子的

.h

#import <Foundation/Foundation.h>@interface NSDate (CXExtension)-(NSDateComponents *)dateFrom:(NSDate *)from;-(BOOL)isThisYear;-(BOOL)isToday;-(BOOL)isYesterday;@end

.m

#import "NSDate+CXExtension.h"@implementation NSDate (CXExtension)-(NSDateComponents *)dateFrom:(NSDate *)from{    //日曆    NSCalendar *calendar = [NSCalendar currentCalendar];        NSCalendarUnit unit = NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;        return [calendar components:unit fromDate:from toDate:self options:0 ];}//判斷是否為今年-(BOOL)isThisYear{        NSCalendar * calendar = [NSCalendar currentCalendar];        NSInteger nowYear = [calendar component:NSCalendarUnitYear fromDate:[NSDate date]];    NSInteger selfYear = [calendar component:NSCalendarUnitYear fromDate:self];        return selfYear == nowYear;    }//判讀是否為今天-(BOOL)isToday{        NSDateFormatter * formatter = [[NSDateFormatter alloc]init];        formatter.dateFormat = @"yyyy-MM-dd";        NSString * nowDate = [formatter stringFromDate:[NSDate date]];    NSString * selfDate = [formatter stringFromDate:self];        return [nowDate isEqualToString:selfDate];    }//判斷是否為昨天-(BOOL)isYesterday{        NSDateFormatter * formatter = [[NSDateFormatter alloc]init];        formatter.dateFormat = @"yyyy-MM-dd";        NSDate * nowDate = [formatter dateFromString:[formatter stringFromDate:[NSDate date]]];    NSDate * selfdate = [formatter dateFromString:[formatter stringFromDate:self]];        NSCalendar * calendar = [NSCalendar currentCalendar];        NSDateComponents * unit = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:selfdate toDate:nowDate options:0];    return unit.year == 0 && unit.month == 0 && unit.day == 1;    }@end

下面的實力所展現的效果:

當時間為去年時 顯示全部時間格式

當時間為今年時分為以下情況

當時間為今天是判斷具體時間

產生幾小時前

幾分鐘前

剛剛的顯示格式

當時間為昨天是 顯示昨天以及時分秒

當時間既不是今天又不是昨天時

顯示除年以外的所有時間格式

-(NSString *)create_time{    NSDateFormatter * formatter = [[NSDateFormatter alloc]init];    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";    NSDate * creat = [formatter dateFromString:_create_time];    if (creat.isThisYear) {                if (creat.isToday) {                        NSDateComponents * unit = [creat dateFrom:creat];            if (unit.hour > 1) {                return [NSString stringWithFormat:@"%zd小時前",unit.hour];            }else if (unit.minute > 1){                return [NSString stringWithFormat:@"%zd分鐘前",unit.minute];            }else{                return @"剛剛";            }        }else if (creat.isYesterday){            formatter.dateFormat = @"昨天 HH:mm:ss";            return[formatter stringFromDate:creat];        }else{            formatter.dateFormat = @"MM-dd HH:mm:ss";            return [formatter stringFromDate:creat];        }    }    else{        return[formatter stringFromDate:creat];    }}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.