【发布时间】:2013-08-28 13:43:42
【问题描述】:
我正在编写一个需要确定文件/目录上次修改时间的程序。我想使用 Joda Time 处理这个时间,并且我正在使用 Java 7 NIO.2 类 Files 来获取文件的上次修改时间。它的getLastModifiedTime() 方法返回一个FileTime 类的实例,它有方便的方法toMillis(),我将其结果传递给Joda Time DateTime 类构造函数:
new DateTime(Files.getLastModifiedTime(path).toMillis());
但是,我感觉我做错了,因为DateTime(long) 构造函数明确提到DateTime 实例将使用默认时区创建。但是,FileTime docs 并没有在任何地方提及其时区。我查看了FileTime 代码;它看起来很简单,它的toString() 方法表明它正在使用UTC 时区(它在UTC 时区创建一个Calendar 并直接设置它的毫秒数)。
那么,FileTime 使用 UTC 还是本地时间?将FileTime 转换为DateTime 的正确方法是什么?
【问题讨论】:
标签: java date datetime jodatime nio2