0

我有这个问题。问题:我正在制作一个程序,其中我通过JFormatedTextFieldie 以字符串格式从用户那里获取输入,然后我希望这个值是用户选择的文件的创建时间。

所以我需要使用只接受 fileTime 格式的 setTimes() 函数。所以问题是::::如何将字符串转换为符合条件的文件时间,以便它可以被.nio.attribute 中预定义的函数setTimes() 使用。

http://www.docjar.com/docs/api/java/nio/file/attribute/FileTime.html

4

2 回答 2

3

根据输入的格式是什么(我想它类似于"dd/MM/yy HH:mm:ss"),您可以将其转换为Dateusing SimpleDateFormat,从中Date您可以获得毫秒 usingDate.getTime()并最终使用该值来构建一个FileTimewithjava.nio.file.attribute.FileTime.fromMillis(long)

这样的事情应该这样做:

String text = textField.getText();
Date date = new SimpleDateFormat("dd/MM/yy HH:mm:ss").parse(text);
FileTime time = FileTime.fromMillis(date.getTime());
于 2013-06-19T09:20:03.070 回答
3

这可以解决问题:

您必须更改日期格式(new SimpleDateFormat(...) 就像您在文本字段中给出的那样,并确实删除了 main 方法。

    public static void main(final String[] args) {
// TODO Auto-generated method stub
String date = "01.01.2013 10:00:10";
long milis;
try {
    milis = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss").parse(date)
        .getTime();
    FileTime fileTime = FileTime.fromMillis(milis);
    System.out
        .println("Time: " + fileTime.toString());
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}
于 2013-06-19T09:18:55.193 回答