Kotlin-经过的时间获取毫秒数的问题

问题描述 投票:0回答:1

我创建了以下方法来从12小时格式化时间中获取毫秒数:

fun getMillisecondsFromTime(time: String): String {
    val formatter = SimpleDateFormat("hh aa")
    formatter.isLenient = false

    val oldDate = formatter.parse(getLocaleTime(time,"hh aa"))
    val oldMillis = oldDate.time
    return "" + oldMillis
}

我在以下四个不同的时间调用此方法:

var strTime1:String = DateUtils.getMillisecondsFromTime("1 PM")//13 * 3600
var strTime2:String = DateUtils.getMillisecondsFromTime("2 PM")//14 * 3600
var strTime3:String = DateUtils.getMillisecondsFromTime("1 AM")//1 * 3600
var strTime4:String = DateUtils.getMillisecondsFromTime("2 AM")//2 * 3600

结果获取错误。即对于1 PM毫秒应该为[[48600,但是,正在得到:

1PM >>>>> :: 45000000,应为

48600

2PM >>>>> :: 48600000,应为

50400

可能是什么问题?

EDIT

:获取本地时间,如下所示:fun getLocaleTime(date: String, timeFormat: String): String { val df = SimpleDateFormat(timeFormat, Locale.ENGLISH) df.timeZone = TimeZone.getTimeZone("UTC") val date = df.parse(date) df.timeZone = TimeZone.getDefault() val formattedDate = df.format(date) return formattedDate }
android kotlin time datetime-format milliseconds
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.