Kotlin 值不';在简单的计算中不能累加

Kotlin 值不';在简单的计算中不能累加,kotlin,timestamp,Kotlin,Timestamp,我正在尝试建立一个活动日历。每个事件都有一个日期和开始时间 我构建它的方式是,一旦用户选择了一个日期,我就得到该日期的基本时间戳,然后当他们选择小时和分钟时,我将适当的毫秒数添加到时间戳中以更改时间戳 出于某种原因,我真的不明白,所有的值都很好,但它们不能相加。没有错误,基本时间戳值保持不变 因此,在前面的一个操作中,我得到了基本时间戳,它工作得很好,然后使用这段代码我想添加毫秒 startTime.setOnTimeChangedListener { _, hourOfDay, min

我正在尝试建立一个活动日历。每个事件都有一个日期和开始时间

我构建它的方式是,一旦用户选择了一个日期,我就得到该日期的基本时间戳,然后当他们选择小时和分钟时,我将适当的毫秒数添加到时间戳中以更改时间戳

出于某种原因,我真的不明白,所有的值都很好,但它们不能相加。没有错误,基本时间戳值保持不变

因此,在前面的一个操作中,我得到了基本时间戳,它工作得很好,然后使用这段代码我想添加毫秒

    startTime.setOnTimeChangedListener { _, hourOfDay, minute ->

        if (baseMillis != null) {
            startDate =
                baseMillis!! + (hourOfDay.toLong() * 3600000) + (minute.toLong() * 60000)

            Log.d("timeestart", hourOfDay.toString())
            Log.d("timeestart", minute.toString())
            Log.d("timeestart", baseMillis.toString())
            Log.d("timeestart", (hourOfDay.toLong() * 3600000).toString())
            Log.d("timeestart", (minute.toLong() * 60000).toString())
            Log.d("timeestart", (baseMillis!! + (hourOfDay.toLong() * 3600000) + (minute.toLong() * 60000)).toString())
            Log.d("timeestart", startDate.toString())
        }
    }
这就是我得到的结果:

2019-09-17 08:55:37.568 8080-8080/com.republicera D/timeestart: 9
2019-09-17 08:55:37.568 8080-8080/com.republicera D/timeestart: 55
2019-09-17 08:55:37.568 8080-8080/com.republicera D/timeestart: 1568670922872
2019-09-17 08:55:37.568 8080-8080/com.republicera D/timeestart: 32400000
2019-09-17 08:55:37.568 8080-8080/com.republicera D/timeestart: 3300000
2019-09-17 08:55:37.568 8080-8080/com.republicera D/timeestart: 1568706622872

您可以在日志3、4和5中清楚地看到,这些变量中的每一个都有一个大于0的值,那么为什么在我尝试添加它们时,该值仍保持为原始值?

“您可以在日志3、4和5中清楚地看到,这些变量中的每一个都有一个大于0的值”,但您打印的是
分钟
小时
,不是
startMinute
startHour
@Michael对不起,在我的代码中,我将
startMinute
startHour
的值分配给
hourOfDay
minute
。为了简化我的帖子,我删除了它,但忘了从这一行编辑它。现在修好了。当然,我也检查了简化版,值分配正确,但不是原始值:156*86709*22872<156*87066*22872。“这很相似。”阿德里安布克罗斯说。我真是个白痴。有点辩证法,所以每次我看的时候都会完全忽略它!谢谢你向我指出我是疯了。