kotlin - 从在 Kotlin 中存储为文本的日历时间中减去天数
问题描述
所以我在 Kotlin 中取当前日期:
val calendar = Calendar.getInstance()
calendar.add(Calendar.DAY_OF_YEAR, -daysAgo)
我将它作为文本存储在标签上:time = calendar.time.toString()
接下来,我想从标签文本中减去 2 天:
val date = LocalDate.parse(time)
val cal = Calendar.getInstance()
cal.time = java.sql.Date.valueOf(date.toString())
cal.add(Calendar.DAY_OF_YEAR, -daysAgo)
方法在此行之后抛出了“java.time.format.DateTimeParseException”异常:LocalDate.parse(time) 有什么想法吗?
解决方案
我将使用自 JDK 8 以来可用的新时间 API,可以在java.time
. 您还应该同意正在使用的格式:
val format = DateTimeFormatter.ISO_DATE_TIME
val current = LocalDateTime.now()
val currentAsText = current.format(format)
println(currentAsText) // e.g. 2019-02-27T12:00:00.000
val fromText = LocalDateTime.parse(currentAsText, format)
val twoDaysAgo = fromText.minusDays(2)
println(twoDaysAgo) // 2019-02-27T12:00:00.000
推荐阅读
- javascript - 按钮先单击 2 次,然后根据需要工作
- pandas - 每个用户在日期范围内的滚动聚合
- html - 通过node API在OBS中创建Browser Source
- excel - 尽管通过 VBA 打开代码,但仍然遇到“编译错误:找不到方法或数据成员”
- javascript - Google Sheets 脚本优化 - 避免最长执行时间
- python - python - 排列带有链接列的excel文件
- php - single.php 上的 Echo 作者头像
- sql - 当 SELECT 子句中存在 ISNULL 时,如何舍入值中的小数?
- java - 是否可以使用 ByteBuddy Advice 机制将本机方法封装在线程中?
- java - 有没有办法从 Kafka 消息中读取任意 JSON 并将该任意 JSON 作为相同内容的 Kafka 消息转发?