将秒转换为一天的时间

时间:2018-07-30 18:00:04

标签: android ios datetime kotlin

我在iOS上有一个应用,正在努力移植到android。我在处理时间上遇到问题。

在iOS上,我使用以下时间存储时间点:

Int(NSDate().timeIntervalSince1970-0.5)

并使用以下命令将其转换为HH:MM:SS

private let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
return dateFormatter.string(from: Date(timeIntervalSince1970: value))

在Android(科特林)上存储我使用的时间点:System.currentTimeMillis()/1000

并进行转换:

LocalTime.MIN.plus(Duration.ofSeconds(xVal)).toString())

问题是转换后的值提前了6小时(可能会或多或少,但我只查看HH:MM:SS)。据我所知,我在android上花费时间的方式是正确的,我认为问题出在转换时。自从间隔到一天的时间以来,我一直在寻找更多转换时间的方法,但是我无法使其正常工作。大多数帖子只是将秒转换为HH:MM:SS,因此这些都不是问题。相当于我的iOS代码是什么?

编辑 我也尝试使用此方法将其转换为6小时,即使我指定了时区也是如此:

    val cal = Calendar.getInstance()
    cal.timeInMillis = xVal * 1000L
    cal.timeZone = TimeZone.getTimeZone(TimeZone.getDefault().displayName)
    Log.i("This is the cal value",cal.get(Calendar.HOUR_OF_DAY).toString())

1 个答案:

答案 0 :(得分:0)

val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
val date = sdf.format(Date(alarm.getNextTrigger()));