NSDate beginning of day and end of day

后端 未结 23 2111
广开言路
广开言路 2020-11-29 23:28
    -(NSDate *)beginningOfDay:(NSDate *)date
{
    NSCalendar *cal = [NSCalendar currentCalendar];
    NSDateComponents *components = [cal components:( NSMonthCalend         


        
23条回答
  •  不知归路
    2020-11-29 23:56

    Swift 5.1 - XCode 11 with Date class instead of NSDate and Calender instead of NSCalender

    extension Date {
    
        var startOfDay : Date {
            let calendar = Calendar.current
            let unitFlags = Set([.year, .month, .day])
            let components = calendar.dateComponents(unitFlags, from: self)
            return calendar.date(from: components)!
       }
    
        var endOfDay : Date {
            var components = DateComponents()
            components.day = 1
            let date = Calendar.current.date(byAdding: components, to: self.startOfDay)
            return (date?.addingTimeInterval(-1))!
        }
    }
    

    Usage:

        let myDate = Date()
        let startOfDate = myDate.startOfDay
        let endOfDate = myDate.endOfDay
    

提交回复
热议问题