3

Javaアプリケーションがあり、JNAを使用してWindowsDLLを呼び出す必要があります。私が呼び出す必要のある関数は実際に__int64(内部的にこれを構造の低い部分/高い部分に分割します)を取りFILETIMEます。オブジェクトが与えられたjava.util.Date場合、どうすればそれを?用にフォーマットされた適切な値に変換できますFILETIMEか?

4

3 に答える 3

5

これは、Java nioを使用してそれを行う方法です

    BasicFileAttributes attr = Files.readAttributes(filePath, BasicFileAttributes.class);
    DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
    Date d = new Date(attr.creationTime().toMillis()); //attr.creationTime() returns a FileTime             
    System.out.println(df.format(d));
于 2012-12-13T18:44:54.437 に答える
3

わかりました、私はそれを理解したと思います:

long date = (new Date().getTime() + 11644473600000L) * 10000L;
于 2010-08-11T18:12:57.590 に答える
2

JNA は、Platform jar にある FILETIMEクラスでいくつかの静的メソッドを提供します。

FILETIME.dateToFileTime( Date date );
FILETIME.filetimeToDate( int high, int low );
于 2011-06-13T15:05:30.683 に答える