You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin日期差计算函数求助:按规则返回发布时间文本

实现Kotlin时间差值计算函数

以下是符合需求的完整Kotlin函数实现,基于时间戳差值判断并按规则返回对应文本:

import java.time.Instant
import java.time.ZoneId
import java.time.format.DateTimeFormatter

private fun calculateTime(date: Long): String {
    val currentTime = System.currentTimeMillis()
    val diff = currentTime - date // 计算发布时间与当前时间的毫秒差值
    
    val oneHourMillis = 3600 * 1000L
    val oneDayMillis = 24 * oneHourMillis
    
    return when {
        diff < oneHourMillis -> "Published 15 minutes ago"
        diff < oneDayMillis -> "Published 4 hours ago"
        else -> {
            // 将时间戳转换为MM/dd/yyyy格式的日期字符串
            val formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy")
                .withZone(ZoneId.systemDefault())
            val formattedDate = formatter.format(Instant.ofEpochMilli(date))
            "Published in $formattedDate"
        }
    }
}

关键细节说明:

  • 时间差值计算:用System.currentTimeMillis()获取当前时间戳,与传入的发布时间戳计算差值,单位为毫秒
  • 时间常量定义:明确1小时、1天对应的毫秒数,提升代码可读性
  • 日期格式化:采用Java 8+的DateTimeFormatter处理日期转换,相比旧版SimpleDateFormat更安全且线程安全,格式匹配需求中的10/12/2022(月/日/年)样式
  • 分支逻辑:通过Kotlin的when表达式实现清晰的条件分支,语法简洁直观

内容的提问来源于stack exchange,提问作者nikolas1903

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 20:31:09