HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 是另一个日期的同一周,月,年的日期大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
知道某个日期是在同一周(或年份或月份)中的最佳方式是什么,最好是使用扩展,并且只使Swift

举个例子,在Objective-C中我有@H_675_3@

- (BOOL)isSameWeekAs:(NSDate *)date {
    NSDateComponents *otherDay = [[NSCalendar currentCalendar] components:NSCalendarUnitEra | NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:self];
    NSDateComponents *today = [[NSCalendar currentCalendar] components:NSCalendarUnitEra | NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date];
    return ([today weekOfYear]   == [otherDay weekOfYear] &&
            [today year]         == [otherDay year] &&
            [today era]          == [otherDay era]);
}

请不要向NSDate提出解决日期的解决方案@H_675_3@

解决方法

您可以使用日历方法isDate(equalTo:granularity :)来检查它如下:
extension Date {
    func isInSameWeek(date: DatE) -> Bool {
        return Calendar.current.isDate(self,equalTo: date,toGranularity: .weekOfYear)
    }
    func isInSameMonth(date: DatE) -> Bool {
        return Calendar.current.isDate(self,toGranularity: .month)
    }
    func isInSameYear(date: DatE) -> Bool {
        return Calendar.current.isDate(self,toGranularity: .year)
    }
    func isInSameDay(date: DatE) -> Bool {
        return Calendar.current.isDate(self,toGranularity: .day)
    }
    var isInThisWeek: Bool {
        return isInSameWeek(date: Date())
    }
    var isInToday: Bool {
        return Calendar.current.isDateInToday(self)
    }
    var isInTheFuture: Bool {
        return Date() < self
    }
    var isInThePast: Bool {
        return self < Date()
    }
}

大佬总结

以上是大佬教程为你收集整理的ios – 是另一个日期的同一周,月,年的日期全部内容,希望文章能够帮你解决ios – 是另一个日期的同一周,月,年的日期所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。