科特林时间戳转换为DateTime

问题描述 投票:4回答:5

我试图找出如何我可以转换timestamp在科特林到datetime,这是Java很简单,但我不能找到在科特林它的任何等同。

例如:划时代时间戳(秒自1070年1月1日)1510500494 ==> DateTime对象2017-11-12 03:28:14

有没有在科特林这方面的任何解决方案或我使用Java语法科特林?请给我一个简单的示例,以显示我怎么能解决这个问题。提前致谢。

this link不回答我的问题

java kotlin timestamp
5个回答
12
投票
private fun getDateTime(s: String): String? {
    try {
        val sdf = SimpleDateFormat("MM/dd/yyyy")
        val netDate = Date(Long.parseLong(s))
        return sdf.format(netDate)
    } catch (e: Exception) {
        return e.toString()
    }
}

5
投票

它实际上是Java一样。尝试这个:

val stamp = Timestamp(System.currentTimeMillis())
val date = Date(stamp.getTime())
println(date)

2
投票

虽然它的科特林,你还是要使用Java API。对Java API的8+转换您的问题的评论中提到的值1510500494一个例子:

import java.time.*

val dt = Instant.ofEpochSecond(1510500494).atZone(ZoneId.systemDefault()).toLocalDateTime()

1
投票
  fun stringtoDate(dates: String): Date {
        val sdf = SimpleDateFormat("EEE, MMM dd yyyy",
                Locale.ENGLISH)
        var date: Date? = null
        try {
             date = sdf.parse(dates)
            println(date)
        } catch (e: ParseException) {
            e.printStackTrace()
        }
        return date!!
    }

0
投票

这为我工作 - 需要很长的

    import java.time.*

    private fun getDateTimeFromEpocLongOfSeconds(epoc: Long): String? {
        try {
            val netDate = Date(epoc*1000)
            return netDate.toString()
        } catch (e: Exception) {
            return e.toString()
        }
   }
© www.soinside.com 2019 - 2024. All rights reserved.