Строка даты не соответствует ISO8601, тем не менее, вы можете использовать ISO8601DateFormatter
, если вы замените <space> + UTC
на Z
и будете использовать опции нестандартного формата.
Создайте Date
из строки и получите DateComponents
для day
и month
let string = "2018-12-24 18:00:00 UTC"
let formatter = ISO8601DateFormatter()
let trimmedString = string.replacingOccurrences(of: "\\s?UTC", with: "Z", options: .regularExpression)
formatter.formatOptions = [.withFullDate, .withFullTime, .withSpaceBetweenDateAndTime]
if let date = formatter.date(from: trimmedString) {
let components = Calendar.current.dateComponents([.day, .month], from: date)
let day = components.day!
let month = components.month!
print(day, month)
}