我试图转换来自数据json url的timeestamp

TimeFlight.text = list[position].TimeFlight.getDateTime(toString())

我在我的应用中使用列表 View
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {

    val view : View = LayoutInflater.from(context).inflate(R.layout.row_layout,parent,false)


    val TimeFlight = view.findViewById(R.id.time_id) as AppCompatTextView
    val LogoAriline = view.findViewById(R.id.logo_image) as ImageView

    status.text= list[position].Stauts
    TimeFlight.text = list[position].TimeFlight.getDateTime(toString())
    Picasso.get().load(Uri.parse("https://www.xxxxxxxxx.com/static/images/data/operators/"+status.text.toString()+"_logo0.png"))
        .into(LogoAriline)



    return view as View
}

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()
    }
}

JSON的资料类别
data class FlightShdu (val Airline : String ,val TimeFlight : String)

我使用了该代码getDateTime,但格式未知

android - 如何在 Kotlin 转换时间戳-LMLPHP

最佳答案

假设TimeFlight是一个字符串化的纪元时间戳(以毫秒为单位),则应将其传递给getDateTime()函数:

TimeFlight.text = getDateTime(list[position].TimeFlight)

(如果它们不是毫秒,而是秒,那么只需将它们乘以1000,然后再将它们传递给Date构造函数即可)

附带说明一下,根据确切的用例,可能不需要在每个SimpleDateFormat调用中都创建新的getDateTime()对象,您可以将其设为实例变量。

另外,我建议您研究(并遵循)Java和Kotlin应用程序的Java naming conventions

08-05 10:57