我从天气API获取了两个版本的日期数据.第一个是这样的线:2019-08-07 09:00:00和这样的线:1565209665.我怎样才能把它改成一天或一天和一个月的名字呢?

我在几个配置中try 了类似的功能,但它只能在完整版中运行.如果我cat 了什么东西,那么它会抛出一个错误:

    var date = list.get(position).dt_txt
    val formatter = DateTimeFormatterBuilder()
        .appendPattern("yyyy-MM-dd HH:mm:ss").toFormatter()
    formatter.parse(date)

推荐答案

First API format:

val firstApiFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val date = LocalDate.parse("2019-08-07 09:00:00" , firstApiFormat)

Log.d("parseTesting", date.dayOfWeek.toString()) // prints Wednesday
Log.d("parseTesting", date.month.toString()) // prints August

Second API format:

val secondApiFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")
val timestamp = 1565209665.toLong() // timestamp in Long


val timestampAsDateString = java.time.format.DateTimeFormatter.ISO_INSTANT
            .format(java.time.Instant.ofEpochSecond(timestamp))

Log.d("parseTesting", timestampAsDateString) // prints 2019-08-07T20:27:45Z


val date = LocalDate.parse(timestampAsDateString, secondApiFormat)

Log.d("parseTesting", date.dayOfWeek.toString()) // prints Wednesday
Log.d("parseTesting", date.month.toString()) // prints August

Kotlin相关问答推荐

可以从背景图像中点击图标吗?

如何在操作系统版本上正确获取Room数据库的路径>;=26 sdk?

Kotlin 中命名构造函数的惯用方式

如何规避 Kotlin 的泛型类型差异约束

如何从 var list 或可变列表中获取列表流

如何在 jOOQ 中两次加入同一张表?

Kotlin 具体类从抽象类和接口扩展而来,接口使用抽象类中实现的方法

正则表达式 FindAll 不打印结果 Kotlin

AIDL 中的 Parcelize 注释:Incompatible types: Object cannot be converted to MyCustomObject

Kotlin 无法找到或加载主类

`this@classname` 在 Kotlin 中是什么意思?

Kotlin 单元测试 - 如何模拟 Companion 对象的组件?

未找到导入 kotlinx.coroutines.flow.*

如何解决:将Java类转换为Kotlin后出现error: cannot find symbol class ...?

创建Spring和#180的实例;Kotlin中的参数化类型引用

如何获取Kotlin中变量的名称?

Kotlin 中更好的回调方法是什么?侦听器与高阶函数

内联 Kotlin 方法没有覆盖报告

Kotlin 是否支持部分应用程序?

java.lang.NoClassDefFoundError:解析失败:Lkotlin/time/MonoClock