Похоже, что вы получаете данные JSON, поэтому вы должны структурировать свои данные и соответствовать протоколу Decodable для преобразования ваших данных в объект, правильно структурированный.
struct Object: Decodable {
let time: Date
}
Не забудьте установить для свойства dateDecodingStrategy
декодера значение secondsSince1970
do {
let obj = try decoder.decode(Object.self, from: Data(json.utf8))
let date = obj.time // "Feb 17, 2019 at 1:00 AM"
print(date.description(with: .current))// "Sunday, February 17, 2019 at 1:00:00 AM Brasilia Standard Time\n"
} catch {
print(error)
}
Тогда вам просто нужно получить компонент дня недели (1 ... 7 =Sun ... Sat) и получите календарь shortWeekdaySymbols (локализованный), вычтите 1 из значения компонента и используйте его в качестве индекса для получения соответствующего символа.Тот же подход, который я использовал в этом посте Как напечатать название дня недели? , чтобы получить полное название дня недели:
extension Date {
var weekDay: Int {
return Calendar.current.component(.weekday, from: self)
}
var weekdaySymbolShort: String {
return Calendar.current.shortWeekdaySymbols[weekDay-1]
}
}
print(date.weekdaySymbolShort) // "Sun\n"