gpt4 book ai didi

android - 在 Kotlin 中将分钟添加到时间格式

转载 作者:行者123 更新时间:2023-11-29 15:34:27 25 4
gpt4 key购买 nike

我正在 Android Studio 中构建一个非常简单的应用程序,我在其中告知当前时间 (HH:MM)、以米为单位的距离和以米/分钟为单位的速度,然后我需要计算时间(距离/速度)结果以分钟为单位,加上时间变量。例如:

time = "01:45:15" // hour, minute, seconds, user input
distance = 45 // meters, user input
velocity = 30 // meters per minute, user input

newTime = "01:46:45" // Because it took a minute and a half (45/30)

我在网上查找并找到了一些解决方案,我当前的代码是(我对 Kotlin 很陌生):

var distance = edTrecho.text.toString()
var velocity = edVelocidade.text.toString()
var minutes = distance.toLong() / velocity.toLong()
var df = SimpleDateFormat("HH:mm", Locale.getDefault()).parse(edTime.text.toString())
var calendar = GregorianCalendar()

calendar.time = df
calendar.add(GregorianCalendar.MINUTE, minutes)
var newTime = calendar.time

但是 add 方法只能添加整数值,我需要添加分钟的小数值(例如:1.5 分钟应该添加 1 分 30 秒)

实现此结果的最佳方法是什么?

最佳答案

最好在计算中使用秒,例如:

var seconds = (distance.toDouble() / (velocity.toDouble() / 60)).roundToInt()

您必须转换为 Double 以避免整数除法,最后使用 roundToInt() 舍入为整数。
velocity.toDouble()/60 是转换为 m/sec 的速度。

并添加它们:

calendar.add(GregorianCalendar.SECOND, seconds)

关于android - 在 Kotlin 中将分钟添加到时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54349203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com