美文网首页
iOS 时间转化相关

iOS 时间转化相关

作者: 风___________ | 来源:发表于2019-05-28 16:08 被阅读0次

将年月日转化为字符串(eg:2012 2 3 -> 20120203)

+ (long)padByYear:(long)year AndMonth:(long)month AndDay:(long)day{
    return [[self getStringByYear:year AndMonth:month AndDay:day] longLongValue];
}
+ (NSString *)getStringByYear:(long)year AndMonth:(long)month AndDay:(long)day{
    NSString *(^pad)(long value) = ^(long value){
        return value < 10?[NSString stringWithFormat:@"0%ld",value]:[NSString stringWithFormat:@"%ld",value];
    };
    return [NSString stringWithFormat:@"%ld,%@,%@",year,pad(month),pad(day)];
}

判断年月日是否为周一

+ (BOOL)isMondayByYear:(long)year AndMonth:(long)month AndDay:(long)day{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyyMMdd"];
    NSDate *date = [dateFormatter dateFromString:[self getStringByYear:year AndMonth:month AndDay:day]];
    return ([[[NSCalendar currentCalendar] components:NSCalendarUnitWeekday fromDate:date] weekday]) == 2;
}

年月日转化为date对象

+ (NSDate *)DateByYear:(long)year AndMonth:(long)month AndDay:(long)day{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyyMMdd"];
    NSDate *date = [dateFormatter dateFromString:[self getStringByYear:year AndMonth:month AndDay:day]];
    return date;
}

timeIntervalSince1970转化为年月日 (eg:20190902)

+ (long)padByTimeIntervalSince1970:(NSTimeInterval)time{
    NSDate *date = [NSDate dateWithTimeIntervalSince1970:time];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyyMMdd"];
    return [[dateFormatter stringFromDate:date] longLongValue];
}

判断年月日是否合法


// 判断年月日是否合法
+ (BOOL)isValidityDateByYear:(long)year AndMonth:(long)month AndDay:(long)day{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyyMMdd"];
    NSDate *date = [dateFormatter dateFromString:[self getStringByYear:year AndMonth:month AndDay:day]];
    if (!date) return NO;
    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:date];
    return ([components day] == day);
}

判断年月日是否为周末

// 判断年月日是否为周末
+ (BOOL)isWeekendByYear:(long)year AndMonth:(long)month AndDay:(long)day{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyyMMdd"];
    NSDate *date = [dateFormatter dateFromString:[self getStringByYear:year AndMonth:month AndDay:day]];
    long weekday = [[[NSCalendar currentCalendar] components:NSCalendarUnitWeekday fromDate:date] weekday];
    return weekday == 7 || weekday == 1;
}

相关文章

  • iOS 时间转化相关

    将年月日转化为字符串(eg:2012 2 3 -> 20120203) 判断年月日是否为周一 年月日转化为date...

  • iOS时间相关

    时间 GMT:格林尼治时间理论上讲,格林尼治时间的正午是太阳横穿格林尼治子午线的时间,作为世界各地区交流的的标准时...

  • iOS 时间戳转化

    NSString *str=@"1368082020";//时间戳NSTimeInterval time=[str...

  • iOS - 时间、NSDateFormatter相关

    使用NSDateFormatter进行NSDate与NSString之间的转化 NSDateFormatter有下...

  • ios 获取时间相关

    //获取当地时间 //将字符串转成NSDate类型 //传入今天的时间,返回明天的时间

  • iOS之时间相关

    在iOS中,我们处理时间的时候,往往会使用到NSDate这个类,但是有的时候我们或许也会使用到NSCalendar...

  • iOS 时间相关方法

    NSDate转NSString NSString转NSDate 相同日期比较 获取安全方法中时间戳(长度:4)

  • 时间戳与日期的相关转化.

    日期转换为时间戳 (日期转换为秒数) NSDate *date = [NSDate date]; NSLog(@"...

  • 时间、时间戳相关小结 - iOS

    项目中难免会与时间打交道,故此次围绕时间展开做了一些日常使用的小结;如下 code 中也是围绕一些日常开发中较为常...

  • iOS设计与架构资料

    Trip-to-iOS-Design-Patterns iOS 设计模式相关资料整理随着写代码时间变长,业务逻辑越...

网友评论

      本文标题:iOS 时间转化相关

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