NSDate beginning of day and end of day

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


        
23条回答
  •  孤独总比滥情好
    2020-11-29 23:57

    Swift 5 Simple and more precise answer.

    Start time: 00:00:00

    End time: 23:59:59.5

    let date = Date() // current date or replace with a specific date
    let calendar = Calendar.current
    let startTime = calendar.startOfDay(for: date)
    let endTime = calendar.date(bySettingHour: 23, minute: 59, second: 59, of: date)
    

    Extra

    let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: noon)!
    let tomorrow = Calendar.current.date(byAdding: .day, value: 1, to: noon)!
    let specificDate = Date("2020-01-01")
    
    extension Date {
        init(_ dateString:String) {
            let dateStringFormatter = DateFormatter()
            dateStringFormatter.dateFormat = "yyyy-MM-dd"
            dateStringFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale
            let date = dateStringFormatter.date(from: dateString)!
            self.init(timeInterval:0, since:date)
        }
    }
    

提交回复
热议问题