iOS 获取当前日期是周几
2020-06-15 本文已影响0人
Aliv丶Zz
获取当前日期月份的第一天/最后一天日期
获取当前日期是周几
//获取日期date对应月的第一天日期
+ (NSString *)getMonthFirstDayWithDate:(NSDate *)date format:(NSString *)aformat;
//获取日期date对应月的最后一天日期
+ (NSString *)getMonthLastDayWithDate:(NSDate *)date format:(NSString *)aformat;
//获取对应日期是周几
+ (NSInteger)getWeekDayFromDate:(NSDate *)date;
+ (NSString *)getMonthFirstDayWithDate:(NSDate *)date format:(NSString *)aformat{
NSDate *newDate = date;
double interval = 0;
NSDate *firstDate = nil;
NSCalendar *calendar = [NSCalendar currentCalendar];
BOOL bl = [calendar rangeOfUnit:NSCalendarUnitMonth startDate:& firstDate interval:&interval forDate:newDate];
if (bl) {
NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init];
[myDateFormatter setDateFormat:aformat];
NSString *firstString = [myDateFormatter stringFromDate: firstDate];
return firstString;
}
return @"";
}
+ (NSString *)getMonthLastDayWithDate:(NSDate *)date format:(NSString *)aformat{
NSDate *newDate = date;
double interval = 0;
NSDate *firstDate = nil;
NSDate *lastDate = nil;
NSCalendar *calendar = [NSCalendar currentCalendar];
BOOL bl = [calendar rangeOfUnit:NSCalendarUnitMonth startDate:& firstDate interval:&interval forDate:newDate];
if (bl) {
lastDate = [firstDate dateByAddingTimeInterval:interval - 1];
NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init];
[myDateFormatter setDateFormat:aformat];
NSString *lastString = [myDateFormatter stringFromDate: lastDate];
return lastString;
}
return @"";
}
+ (NSInteger)getWeekDayFromDate:(NSDate *)date{
NSArray *tempWeek = @[@"7",@"1",@"2",@"3",@"4",@"5",@"6"];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *comps = [[NSDateComponents alloc] init];
NSInteger unitFlags = NSCalendarUnitYear |NSCalendarUnitMonth | NSCalendarUnitDay |NSCalendarUnitWeekday | NSCalendarUnitHour |NSCalendarUnitMinute |NSCalendarUnitSecond;
comps = [calendar components:unitFlags fromDate:date];
// 1、2、3、4、5、6、7 分别对应 周日、周一、周二、周三、周四、周五、周六
NSInteger week = [comps weekday];
NSLog(@"---%ld",week);
// 调整后 1 代表 周一
return [tempWeek[week-1] integerValue] ;
}