FILETIME это 64-х разрядное значение, обозначающее количество интервалов по 100 наносекунд каждый, прошедших с первого января 1601 года. ( FILETIME structure. MSDN MicroSoft )
Класс Data в андроиде формируется в милисекундах начиная с 1 января 1970 года. Поэтому проводим некоторые операции преобразования.
Java | 1
2
3
4
5
6
7
8
9
10
11
12
13
| long pwdLastSet = Long.parseLong("130358883000000000");
// это 64-х разрядное значение, обозначающее количество интервалов
// по 100 наносекунд каждый, прошедших с первого января 1601 года. ( FILETIME Майкрософт )
long javaTime = pwdLastSet - 0x19db1ded53e8000L; // Отнимаем 116444736000000000 (369 лет)
javaTime /= 10000L; // Переводим в секунды
Date today = new Date(javaTime); // Здесь уже имеем преобразованное время отсчет корого идет
// в милисекундах с 1 января 1970 года
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");// Задаем формат
String newDateString = sdf.format(today); // Здесь имеем дату вида 02/03/2014 12:05:00
//(формат указан строкой выше) |
|
|