在 Kotlin 中,可以使用 java.time 庫來處理日期和時間。這個庫是 Java 8 引入的新的日期和時間 API,它提供了很多有用的類和函數來處理日期、時間、時區等。以下是一些常用的 Kotlin 日期和時間處理方法:
val currentDate = LocalDate.now()
val currentTime = LocalTime.now()
val currentDateTime = LocalDateTime.now()
val specificDate = LocalDate(2022, 1, 1)
val specificTime = LocalTime(12, 30)
val specificDateTime = LocalDateTime(2022, 1, 1, 12, 30)
val dateAfter1Day = currentDate.plusDays(1)
val timeAfter2Hours = currentTime.plusHours(2)
val dateTimeAfter1DayAnd2Hours = currentDateTime.plusDays(1).plusHours(2)
val daysBetweenDates = LocalDate.now().toEpochDay() - LocalDate(2022, 1, 1).toEpochDay()
val hoursBetweenTimes = LocalTime.now().toEpochSecond(ZoneOffset.UTC) - LocalTime(12, 0).toEpochSecond(ZoneOffset.UTC) / 3600
val formattedDate = currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))
val formattedTime = currentTime.format(DateTimeFormatter.ofPattern("HH:mm"))
val formattedDateTime = currentDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"))
val parsedDate = LocalDate.parse("2022-01-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"))
val parsedTime = LocalTime.parse("12:30", DateTimeFormatter.ofPattern("HH:mm"))
val parsedDateTime = LocalDateTime.parse("2022-01-01 12:30", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"))
val zoneId = ZoneId.systemDefault()
val zonedDateTime = currentDateTime.atZone(zoneId)
val offsetDateTime = currentDateTime.atOffset(ZoneOffset.UTC).atZoneSameInstant(zoneId)
這些只是 Kotlin 日期和時間處理的一些基本方法,實際上 java.time 庫還提供了很多其他功能和類,可以根據需要選擇使用。