iOS日期相关常用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS日期相关常用方法相关的知识,希望对你有一定的参考价值。

//根据日期返回当月的天数 (频繁调用 [NSCalendar currentCalendar] 可能存在性能问题)

- (NSUInteger)getDayCountWithDay:(NSDate *)date{
    return [[NSCalendar currentCalendar] rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date].length;

}

//传入具体的年月日来获取星期

- (NSString *)getWeekWithYear:(NSInteger)year month:(NSInteger)month  day:(NSInteger)day{
    //根据日期获取
    NSDateComponents *comps = [[NSDateComponents alloc] init];
    [comps setDay:day];
    [comps setMonth:month];
    [comps setYear:year];
    
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
    NSDate *date = [gregorian dateFromComponents:comps];
    NSDateComponents *weekdayComponents = [gregorian components:NSCalendarUnitWeekday fromDate:date];
    NSInteger weekday = [weekdayComponents weekday];
    NSArray *array = [NSArray arrayWithObjects:@"星期日",@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六", nil];
    return array[weekday-1];
}

//距离一个时间点的某个时间长度的时间

    NSTimeInterval minute = 60*60;  //分钟
    NSTimeInterval hour = 60*60;    //小时
    NSTimeInterval day = 24*60*60;  ////距离现在某个时间
    [NSDate dateWithTimeIntervalSinceNow:<#(NSTimeInterval)#>];
    //距离一个相对日期的某个时间
    [NSDate dateWithTimeInterval:<#(NSTimeInterval)#> sinceDate:<#(nonnull NSDate *)#>];
    //距离1970年1月1日的某个时间
    [NSDate dateWithTimeIntervalSince1970:<#(NSTimeInterval)#>];
    //距离2001年1月1日的某个时间
    [NSDate dateWithTimeIntervalSinceReferenceDate:<#(NSTimeInterval)#>];

 

以上是关于iOS日期相关常用方法的主要内容,如果未能解决你的问题,请参考以下文章

IOS开发-OC学习-常用功能代码片段整理

常用的日期格式

PHP中的日期相关函数

C#常用代码片段备忘

iOS常用于显示几小时前/几天前/几月前/几年前的代码片段

Java基础--常用API--日期相关API