在 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 库还提供了很多其他功能和类,可以根据需要选择使用。