calender获取日期前几月_iOS时间,日期,星期等相关获取

1. 获取当前时间 YY年 MM 月dd日  hh小时 mm分钟 ss秒 自由搭配获取

NSDate *currentDate = [NSDate date];//获取当前时间,日期

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"YYYY/MM/dd hh:mm:ss SS"];

NSString *dateString = [dateFormatter stringFromDate:currentDate];

NSLog(@"dateString:%@",dateString);

2.判断NSDate是星期几 (今天星期几)

#pragma mark -->获取今天星期几

- (NSString*)weekdayStringFromDate:(NSDate*)inputDate {

NSArray *weekday = [NSArray arrayWithObjects: [NSNull null], @"周日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];

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

[calendar setTimeZone: timeZone];

NSCalendarUnit calendarUnit = NSCalendarUnitWeekday;

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

return [weekday objectAtIndex:theComponents.weekday];

}

3.获取当月的总天数

NSCalendar *calendar = [NSCalendar currentCalendar];

NSRange range = [calendar rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:[NSDate date]];

NSUInteger numberOfDaysInMonth = range.length;

NSLog(@"%lu", (unsigned long)numberOfDaysInMonth);

4.. 判断NSDate的农历

-(NSString*)getChineseCalendarWithDate:(NSDate *)date{

NSArray *chineseYears = [NSArray arrayWithObjects:

@"甲子", @"乙丑", @"丙寅", @"丁卯",  @"戊辰",  @"己巳",  @"庚午",  @"辛未",  @"壬申",  @"癸酉",

@"甲戌",  @"乙亥",  @"丙子",  @"丁丑", @"戊寅",  @"己卯",  @"庚辰",  @"辛己",  @"壬午",  @"癸未",

@"甲申",  @"乙酉",  @"丙戌",  @"丁亥",  @"戊子",  @"己丑",  @"庚寅",  @"辛卯",  @"壬辰",  @"癸巳",

@"甲午",  @"乙未",  @"丙申",  @"丁酉",  @"戊戌",  @"己亥",  @"庚子",  @"辛丑",  @"壬寅",  @"癸丑",

@"甲辰",  @"乙巳",  @"丙午",  @"丁未",  @"戊申",  @"己酉",  @"庚戌",  @"辛亥",  @"壬子",  @"癸丑",

@"甲寅",  @"乙卯",  @"丙辰",  @"丁巳",  @"戊午",  @"己未",  @"庚申",  @"辛酉",  @"壬戌",  @"癸亥", nil nil];

NSArray *chineseMonths=[NSArray arrayWithObjects:

@"正月", @"二月", @"三月", @"四月", @"五月", @"六月", @"七月", @"八月",

@"九月", @"十月", @"冬月", @"腊月", nil nil];

NSArray *chineseDays=[NSArray arrayWithObjects:

@"初一", @"初二", @"初三", @"初四", @"初五", @"初六", @"初七", @"初八", @"初九", @"初十",

@"十一", @"十二", @"十三", @"十四", @"十五", @"十六", @"十七", @"十八", @"十九", @"二十",

@"廿一", @"廿二", @"廿三", @"廿四", @"廿五", @"廿六", @"廿七", @"廿八", @"廿九", @"三十",  nil nil];

NSCalendar *localeCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierChinese];

unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth |  NSCalendarUnitDay;

NSDateComponents *localeComp = [localeCalendar components:unitFlags fromDate:date];

NSLog(@"%zd_%zd_%zd",localeComp.year,localeComp.month,localeComp.day);

NSString *y_str = [chineseYears objectAtIndex:localeComp.year-1];

NSString *m_str = [chineseMonths objectAtIndex:localeComp.month-1];

NSString *d_str = [chineseDays objectAtIndex:localeComp.day-1];

NSString *chineseCal_str =[NSString stringWithFormat: @"%@_%@_%@",y_str,m_str,d_str];

return chineseCal_str;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值