Kotlin将FileTime转换为日,月,年

时间:2019-09-09 23:14:36

标签: kotlin filetime

问题:

我有一个目录,文件的创建日期。

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

但是,我正在使用FileTime。

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

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

我尝试过什么:

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

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

最终问题: 如何获取FileTime的日期,月份和年份?

谢谢。

1 个答案:

答案 0 :(得分:5)

FileTimeInstantZonedDateTime

我假设您使用的是Java 8或更高版本。您必须将FileTime转换为Instant。然后,您可以将ZoneId应用于Instant,以获取想要日期的时区的ZonedDateTime对象。下面的代码将FileTime转换为{ {3}}。

val zonedTime = fileTime.toInstant().atZone(ZoneId.of("Asia/Kolkata"))
println(zonedTime.year)
println(zonedTime.monthValue)
println(zonedTime.dayOfMonth)