2017-02-10 11 views
0

私は日付の平日(水曜日、火曜日)を取得しようとしていますが、実際に文字列を取得するための良い方法を見つけることができないようです。日付の平日の文字列表現を取得する方法

internal func fromToday(daysAgo: Date) -> String { 

    let calendar = NSCalendar.autoupdatingCurrent 
    let startOfNow = calendar.startOfDay(for: Date()) 
    let startOfTimeStamp = calendar.startOfDay(for: daysAgo) 
    let numDaysDifference = abs(calendar.dateComponents([.day], from: startOfNow, to: startOfTimeStamp).day!) 
    let daysAgoComponents = calendar.dateComponents([.weekday, .hour, .minute], from: daysAgo) 

    var hour = daysAgoComponents.hour! 
    var timeOfDay = "AM" 

    if hour >= 13 { 
     hour -= 12 
     timeOfDay = "PM" 
    } 

    var res = "\(hour):\(daysAgoComponents.minute!)\(timeOfDay)" 

    if calendar.isDateInYesterday(daysAgo) { 
     res = "Yesterday" 
    } else if numDaysDifference < 8 && numDaysDifference > 1 { 
     res = stringFromWeekday(day: daysAgoComponents.weekday!) // HERE THIS IS WHAT IM ASKING ABOUT IGNORE OTHER IFS 
    } else if numDaysDifference >= 8 { 
     res = stringFromDate(day: daysAgo) 
    } 

    return res 
} 

fileprivate func stringFromWeekday(day: Int) -> String { 
    let formatter = DateFormatter() 
    formatter.locale = Locale(identifier: "en_US") 

    if formatter.weekdaySymbols.count < day { 
     print("ConversationTVC - \(day) is not a valid day of the week") 
    } 

    return formatter.weekdaySymbols[day] 
} 

具体的には、行を::これは私がやっているものです

else if numDaysDifference < 8 && numDaysDifference > 1 
    res = stringFromWeekday(day: daysAgoComponents.weekday!)` 

私は、問題は、私はその日の文字列表現を取得するにはどうすればよいweekdaySymbols

に関係していると思います日のX日前の週の?

答えて

0

問題1日から1を減算していない、平日の返品1-7と平日のシンボルは0-6

関連する問題