Розбір дати з рядка

Swift:
Розбір дати з рядка

Як це зробити:

Використання DateFormatter з Foundation

Стандартна бібліотека Swift, Foundation, надає DateFormatter для конвертації рядків у об’єкти Date і навпаки. Щоб проаналізувати дату з рядка, ви вказуєте формат дати, який відповідає рядку, потім використовуєте форматер для її парсингу.

import Foundation

let dateString = "2023-04-30"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
if let date = formatter.date(from: dateString) {
    print("Дата проаналізована: \(date)")
} else {
    print("Не вдалося проаналізувати дату")
}
// Приклад виводу: Дата проаналізована: 2023-04-29 22:00:00 +0000

Зауважте, що вивід може варіюватися залежно від вашого часового поясу.

Використання ISO8601DateFormatter

Для форматів дати ISO 8601, Swift надає спеціалізований форматер, ISO8601DateFormatter, який спрощує процес парсингу.

import Foundation

let dateString = "2023-04-30T15:00:00+00:00"
let isoFormatter = ISO8601DateFormatter()
if let date = isoFormatter.date(from: dateString) {
    print("Проаналізована ISO8601 дата: \(date)")
} else {
    print("Не вдалося проаналізувати ISO8601 дату")
}
// Приклад виводу: Проаналізована ISO8601 дата: 2023-04-30 15:00:00 +0000

Використання сторонньої бібліотеки: SwiftDate

Хоча Swift надає надійні інструменти для парсингу дат, сторонні бібліотеки, як-от SwiftDate, пропонують ще більше гнучкості та зручності. Після додавання SwiftDate до вашого проєкту, парсинг стає настільки ж простим, як:

import SwiftDate

let dateString = "30 квітня 2023"
if let date = dateString.toDate("MMMM dd, yyyy") {
    print("Дата проаналізована з SwiftDate: \(date)")
} else {
    print("Не вдалося проаналізувати дату з SwiftDate")
}
// Приклад виводу: Дата проаналізована з SwiftDate: 2023-04-30 00:00:00 +0000

SwiftDate спрощує парсинг за допомогою природньої мови та широкого спектру форматів дат, стаючи потужним доповненням до вашої набору інструментів програмування на Swift.