Kotlin将FileTime转换为日,月,年

zer*_*erk 1 filetime kotlin

问题:

我有一个文件目录,其中包含创建日期。

我想要达到的是获取创建日期的日期,月份和年份的值。

但是,我正在使用FileTime。

我期望能够调用GetMonth方法或类似方法。

不幸的是,这是不可能的,有人知道一个好方法来获取FileTime的日/月/年吗?

我尝试了什么:

  • 我试图将其转换为日期类型。这是可能的,但是不建议使用日,月和年方法。

  • 我试图用它来获取FileTime的毫秒数,但这并不是一个不错的解决方案。

最后一个问题: 如何获得FileTime的日期,月份和年份?

谢谢前进。

Cha*_*kar 5

FileTimeInstantZonedDateTime

我假设您使用的是Java 8或更高版本。您必须将转换FileTimeInstant。然后,您可以将应用于ZoneIdInstant以获取ZonedDateTime您想要日期所在时区的对象。以下代码将印度时间转换FileTime为日期。

val zonedTime = fileTime.toInstant().atZone(ZoneId.of("Asia/Kolkata"))
println(zonedTime.year)
println(zonedTime.monthValue)
println(zonedTime.dayOfMonth)
Run Code Online (Sandbox Code Playgroud)