Вопрос

Обсуждаемый Ищем хороший конвертер CTIME/Unixtime Я попросил хороший веб-конвертер времени CTIME (секунды с 1 января 1970 года).(Обычно 32-битное целое число со знаком).

Мне нужен был инструмент, в котором я мог бы ввести дату и получить эквивалент CTIME.Мне удалось его найти, как только я понял, что Unixtime — это другое название формата.Google был моим другом, когда я туда попал.

А теперь как насчет конвертера FILETIME, который чаще всего используется как 64-битное целое число со знаком, представляющее 100 наносекундных единиц с 1 января 1601 года.(Что Active Directory использует внутри себя для хранения времени).

Вероятно, есть какое-то лучшее ключевое слово для поиска, по которому я его найду.У меня есть инструмент, который покажет мне текущее время в FILETIME, и я могу выполнять математические вычисления в другом месте вручную, но это не совсем то, что я ищу с точки зрения простоты использования.

У меня есть функция, которая может использовать ее в коде, но нет оболочки, которую можно было бы легко использовать в быстром формате.Средство форматирования времени Java поддерживает это, но я снова ищу красиво оформленную версию.

Это было полезно?

Решение

Этот инструмент преобразует все типы времени онлайн.

Другие советы

В Windows базовое время — 01.01.1601.FileTime также записывается с использованием в качестве меры 100 наносекунд.Используя VBA, вы в любом случае получите это за несколько секунд.

(-4 — это ваше текущее смещение UTC). EST обычно равно -5, но поскольку наши правительства не могут собраться вместе и стандартизировать переход на летнее время или вообще избавиться от летнего времени, вам придется изменить это на свой часовой пояс.

600000000 преобразует 100 наносекунд в минуты, чтобы избежать переполнения.

Кроме того, помните, что это VBA, поэтому передайте значение Double в формате записи.

Public Function ConvertFileTime(ByVal d As Double) As Date
    ConvertFileTime = DateAdd("n", (d / 600000000) + (60 * -4), #1/1/1601#)
End Function

Пример:

Конвертироватьфилетиме( 1.2944684916706E+17 )

Это должно вернуться 15 марта 2011 г., 13:48.

В Windows есть встроенный инструмент командной строки, который преобразует файл Windows FILETIME в удобочитаемый формат (см. Инструменты службы времени Windows).

Выдача следующей команды:

w32tm.exe /ntte 132015260350000000

производит этот вывод:

152795 10:33:55.0000000 - 05.05.2019 12:33:55
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top