iOS 获取当前日期是周几、每月最后一天 您所在的位置:网站首页 2月最后一天是几号 iOS 获取当前日期是周几、每月最后一天

iOS 获取当前日期是周几、每月最后一天

2024-07-09 15:08| 来源: 网络整理| 查看: 265

获取当前日期月份的第一天/最后一天日期 获取当前日期是周几

OC写法 //获取日期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] ; } Swift 写法 struct DateRange { var startDate : String var endDate : String init(startDate:String? ,endDate:String?) { self.startDate = startDate ?? "" self.endDate = endDate ?? "" } } 获取某月的第一天 和 最后一天 /// 获取某月的第一天 和 最后一天 /// - parameter date: 时间,默认当前时间 /// - parameter interval: 间隔 。默认为0 /// - parameter format: 日期格式 /// /// - 间隔传入 1 即为传入日期的下一个月 ,-1 上一个月 class func firstDay_LastDayOfMounth(date : Date = Date() ,interval: Int = 0, format: String = "yyyy-MM-dd") -> DateRange { let newDate = date let ca = Calendar.init(identifier: .gregorian) var lastMonthComps = DateComponents() lastMonthComps.month = interval let curDate = ca.date(byAdding: lastMonthComps, to: newDate) var interval:Double = 0 var firstDate:Date = Date() var lastDate :Date = Date() let calendar = NSCalendar.current let bl = calendar.dateInterval(of: .month, start: &firstDate, interval: &interval, for: curDate!) if bl { lastDate = firstDate.addingTimeInterval(interval-1) } let firstStr = ZLDateTimeTool.stringFromDate(date: firstDate, format: format) let lastStr = ZLDateTimeTool.stringFromDate(date: lastDate, format: format) let range = DateRange.init(startDate: firstStr, endDate: lastStr) return range } 返回对应日期是周几 /// - 返回对应日期是周几 class func getWeekDayByDate(date:Date) -> Int{ guard let calendar = NSCalendar(identifier: NSCalendar.Identifier.gregorian) else { return 1 } let components = calendar.components([.weekOfYear,.weekOfMonth,.weekday,.weekdayOrdinal], from: date) /* //今年的第几周 let weekOfYear = components.weekOfYear! //这个月第几周 let weekOfMonth = components.weekOfMonth! //这个月第几周 let weekdayOrdinal = components.weekdayOrdinal!*/ //周几 let weekday = components.weekday! //调整前 1、2、3、4、5、6、7 分别对应 周日、周一、周二、周三、周四、周五、周六 let cnWeekday = [7, 1, 2, 3, 4, 5, 6] //调整后 1、2、3、4、5、6、7 分别对应 周一、周二、周三、周四、周五、周六、周日 return cnWeekday[weekday-1] }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有