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

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

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

Kotlin підтримує розбір дат через пакет java.time, що був введений у Java 8. Ось простий підхід за допомогою LocalDateTime та специфічного шаблону:

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

fun parseDateFromString(dateString: String): LocalDateTime {
    val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
    return LocalDateTime.parse(dateString, formatter)
}

fun main() {
    val dateString = "2023-04-01 12:00:00"
    val date = parseDateFromString(dateString)
    println(date)  // Виведення: 2023-04-01T12:00
}

Для більшої гнучкості чи для обробки дат з зовнішніх джерел, таких як API, можна скористатися сторонньою бібліотекою, такою як Joda-Time (хоча зараз це рідше використовується через робастність java.time). Проте, для більшості додатків на Kotlin переважно використовувати сучасний підхід, що надається JDK.

Для розбору дати в Kotlin без використання сторонніх бібліотек можна також скористатися класом SimpleDateFormat для версій до Java 8 або рівнів API Android, які не підтримують java.time:

import java.text.SimpleDateFormat

fun parseDateUsingSimpleDateFormat(dateString: String): java.util.Date {
    val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
    return formatter.parse(dateString)
}

fun main() {
    val dateString = "2023-04-01 12:00:00"
    val date = parseDateUsingSimpleDateFormat(dateString)
    println(date)  // Виведення може відрізнятися залежно від вашого часового поясу, наприклад, Суб кві 01 12:00:00 GMT 2023
}

Пам’ятайте завжди встановлювати часовий пояс при роботі з SimpleDateFormat для уникнення несподіваних зміщень у розібраних датах.