Kotlin 相加两个日期的程序

由于Java纪元是1970年,因此Date对象中表示的任何时间都将无法正常工作。这意味着您的日期将从1970年开始,当两个Date对象相加时,总和会差大约1970年。因此,我们改用Calendar

示例:两个日期相加

import java.util.Calendar

fun main(args: Array<String>) {

    val c1 = Calendar.getInstance()
    val c2 = Calendar.getInstance()
    val cTotal = c1.clone() as Calendar

    cTotal.add(Calendar.YEAR, c2.get(Calendar.YEAR))
    cTotal.add(Calendar.MONTH, c2.get(Calendar.MONTH) + 1) // Zero-based months
    cTotal.add(Calendar.DATE, c2.get(Calendar.DATE))
    cTotal.add(Calendar.HOUR_OF_DAY, c2.get(Calendar.HOUR_OF_DAY))
    cTotal.add(Calendar.MINUTE, c2.get(Calendar.MINUTE))
    cTotal.add(Calendar.SECOND, c2.get(Calendar.SECOND))
    cTotal.add(Calendar.MILLISECOND, c2.get(Calendar.MILLISECOND))

    println("${c1.time} + ${c2.time} = ${cTotal.time}")

}

运行程序后,输出将是

Tue Aug 08 10:20:56 NPT 2017 + Tue Aug 08 10:20:56 NPT 2017 = Mon Apr 16 20:41:53 NPT 4035

在上一个程序中,c1c2存储了当前日期。然后,我们仅克隆c1并将c2的每个日期/时间属性逐一添加。

如您所见,我们将月份加了1。这是因为Kotlin中的月份是从0开始的。


另外,您也可以在Kotlin中使用Joda进行日期/时间操作。

这是等效的Java代码:Java程序:两个日期相加

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战