kotlin时间用法

kotlin时间用法

  • 介绍
    • 当前时间
    • 当天时间的开始时间和结束时间
    • 获取当前年的1月1日0点0分
    • format 时间转为字符串
    • 时间 - 时分秒
      • 获取当前时间
      • 获取当前时间是周几
      • 获取当前时间是第几周
      • 获取指定周所在当前时间
      • 字符串时间转为时间格式
      • 时间运算-加法

介绍

项目开发中遇到的一些简单的时间的用法

当前时间

// 2022-07-20T13:37:56.979110
val current = LocalDateTime.now()

当天时间的开始时间和结束时间

  • 前闭后开
// 开始时间
val start = LocalDateTime.now().toLocalDate().atStartOfDay()
// 结束时间
val end = LocalDateTime.now().toLocalDate().plusDays(1).atStartOfDay()

获取当前年的1月1日0点0分

LocalDate.of(LocalDate.now().year, 1, 1).atStartOfDay();

format 时间转为字符串

val startTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
val endTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))

时间 - 时分秒

获取当前时间

// 精度到毫秒 13:37:56.997693
val currentTime = LocalTime.now()

// 精度到分钟 13:37
val currentTimeStart = LocalTime.now().truncatedTo(ChronoUnit.MINUTES)

// 精度到分钟(但是会受到毫秒的影响, 毫秒可能会四舍五入到秒中,存在风险)
LocalDateTime.now().withSecond(0).toLocalTime() // 13:37:00.997693

获取当前时间是周几

val week = LocalDateTime.now().dayOfWeek.name // 星期的大写英语字母 THURSDAY
val week = LocalDateTime.now().dayOfWeek.value // 数字 4

获取当前时间是第几周

val week = LocalDateTime.now().get(ChronoField.ALIGNED_WEEK_OF_YEAR) // 数字41(第41周)

获取指定周所在当前时间

  • 比如今天是周二, 获取的时间是第三周的周二当前时间
// 2022-01-11T15:34:13.486739
val weekOfYear = LocalDateTime.now().with(ChronoField.ALIGNED_WEEK_OF_YEAR, 3)

字符串时间转为时间格式

val time = DateUtil.parseTime("12:11:12").toLocalDateTime().toLocalTime()

时间运算-加法

当前时间
val currentTime = LocalTime.now() // 12:00:00.000000

// 分钟的加法 -> 加1分钟
val lastMinutesTime = LocalTime.now().plusMinutes(1) // 12:00
// 秒的加法 -> 加59秒
val lastMinutesTime = LocalTime.now().plusSeconds(59)  // 12:00:59

你可能感兴趣的:(kotlin,kotlin,开发语言,android)