根据日期字符串转化为星期几的函数

- (NSString*)WeekdayStringFromDateString:(NSString *)dateString {

    NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init]; 

    [dateFormatter setDateFormat: @"yyyy-MM-dd"]; 

    NSDate *Date= [dateFormatter dateFromString:dateString];

    NSArray *weekdays = [NSArrayarrayWithObjects: [NSNullnull], @"星期日", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六", nil];

    NSCalendar *calendar = [[NSCalendaralloc] initWithCalendarIdentifier:NSGregorianCalendar];

    NSTimeZone *timeZone = [[NSTimeZonealloc] initWithName:@"Asia/Shanghai"];

    [calendar setTimeZone: timeZone];

    NSCalendarUnit calendarUnit = NSWeekdayCalendarUnit;

    NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:Date];  

    return [weekdays objectAtIndex:theComponents.weekday];

}

二.

- (NSString*)getWeekDayWithYear:(NSString*)year month:(NSString*)month day:(NSString*)day

{

    NSInteger yearInt   = [year integerValue];

    NSInteger monthInt  = [month integerValue];

    NSInteger dayInt    = [day integerValue];

    int c = 20;//世纪

    int y = (int)yearInt -1;//年

    int d = (int)dayInt;

    int m = (int)monthInt;

    int w =(y+(y/4)+(c/4)-2*c+(26*(m+1)/10)+d-1)%7;

    NSString *weekDay = @"";

    switch (w) {

        case0: weekDay = @"星期日";    break;

        case1: weekDay = @"星期一";    break;

        case2: weekDay = @"星期二";    break;

        case3: weekDay = @"星期三";    break;

        case4: weekDay = @"星期四";    break;

        case5: weekDay = @"星期五";    break;

        case6: weekDay = @"星期六";    break;

        default:break;

    }

    return weekDay;

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容