如何获取 UTC 的当前时间,添加一些分钟并将其转换为 Kotlin 中的指定格式
How to get the current time in UTC, add some minutes to it and the convert it to a specified format in Kotlin
我发现了关于这个主题的不同主题,但还没有找到适合我的问题的解决方案。我怎样才能得到当前的 UTC 时间,添加例如 60 分钟,并以这种格式显示它: HH:mm:ss ?可能吗?谢谢
我用它来获取 UTC 时间,但我不知道如何向它添加分钟以及更改要显示的格式:
val df: DateFormat = DateFormat.getTimeInstance()
df.timeZone = TimeZone.getTimeZone("utc")
val utcTime: String = df.format(Date())
我也试过这个功能,但它显示设备的当前时间:
fun getDate(milliSeconds: Long, dateFormat: String?): String? {
val formatter = SimpleDateFormat(dateFormat)
val calendar = Calendar.getInstance()
calendar.timeInMillis = milliSeconds
return formatter.format(calendar.time)
}
var dateformat = SimpleDateFormat("dd-MM-yyyy HH:mm:ss")
dateformat.timeZone = TimeZone.getTimeZone("UTC")
var date = Date()
date.hours = date.hours +2
date.minutes = date.minutes + 30
Log.e("date",dateformat.format(date))
在这里使用java.time
,你可以获取特定偏移量甚至时区的当前时间,然后使用所需的模式输出:
import java.time.format.DateTimeFormatter
import java.time.ZoneOffset
import java.time.OffsetDateTime
fun main() {
val dateTime = getDateTimeFormatted(50, "HH:mm:ss")
println(dateTime)
}
fun getDateTimeFormatted(minutesToAdd: Long, pattern: String): String {
// get current time in UTC, no millis needed
val nowInUtc = OffsetDateTime.now(ZoneOffset.UTC)
// add some minutes to it
val someMinutesLater = nowInUtc.plusMinutes(minutesToAdd)
// return the result in the given pattern
return someMinutesLater.format(
DateTimeFormatter.ofPattern(pattern)
)
}
发布前几秒执行的输出是:
09:43:00
如果您支持比 26 更旧的 API 版本,您可能会发现 Java 8 种功能在那里不直接可用。
无论如何您都可以使用它们,只需阅读 , the most recent way is API Desugaring
的答案
我发现了关于这个主题的不同主题,但还没有找到适合我的问题的解决方案。我怎样才能得到当前的 UTC 时间,添加例如 60 分钟,并以这种格式显示它: HH:mm:ss ?可能吗?谢谢
我用它来获取 UTC 时间,但我不知道如何向它添加分钟以及更改要显示的格式:
val df: DateFormat = DateFormat.getTimeInstance()
df.timeZone = TimeZone.getTimeZone("utc")
val utcTime: String = df.format(Date())
我也试过这个功能,但它显示设备的当前时间:
fun getDate(milliSeconds: Long, dateFormat: String?): String? {
val formatter = SimpleDateFormat(dateFormat)
val calendar = Calendar.getInstance()
calendar.timeInMillis = milliSeconds
return formatter.format(calendar.time)
}
var dateformat = SimpleDateFormat("dd-MM-yyyy HH:mm:ss")
dateformat.timeZone = TimeZone.getTimeZone("UTC")
var date = Date()
date.hours = date.hours +2
date.minutes = date.minutes + 30
Log.e("date",dateformat.format(date))
在这里使用java.time
,你可以获取特定偏移量甚至时区的当前时间,然后使用所需的模式输出:
import java.time.format.DateTimeFormatter
import java.time.ZoneOffset
import java.time.OffsetDateTime
fun main() {
val dateTime = getDateTimeFormatted(50, "HH:mm:ss")
println(dateTime)
}
fun getDateTimeFormatted(minutesToAdd: Long, pattern: String): String {
// get current time in UTC, no millis needed
val nowInUtc = OffsetDateTime.now(ZoneOffset.UTC)
// add some minutes to it
val someMinutesLater = nowInUtc.plusMinutes(minutesToAdd)
// return the result in the given pattern
return someMinutesLater.format(
DateTimeFormatter.ofPattern(pattern)
)
}
发布前几秒执行的输出是:
09:43:00
如果您支持比 26 更旧的 API 版本,您可能会发现 Java 8 种功能在那里不直接可用。
无论如何您都可以使用它们,只需阅读