Powershell: get-date & [datetime] :: FromFileTime возвращает разные значения - PullRequest
5 голосов
/ 14 марта 2011

Почему get-date & [datetime] :: FromFileTime возвращает разные значения при преобразовании FileTime? Пример:

Get-Date 129442497539436142

возвращается в четверг, 10 марта, 04:11:55:53, но

[datetime]::FromFileTime("129442497539436142")

возвращается 10 марта 2011 г. 11:55:53

Ответы [ 4 ]

5 голосов
/ 14 марта 2011

Они дают одинаковый результат для меня, предположительно потому, что я нахожусь в GMT.

(FromFileTime анализирует время как UTC , Get-Date, похоже, использует ваше местное время.)

5 голосов
/ 14 марта 2011

ПОДСКАЗКА: я нахожусь по Гринвичу, и они получают тот же результат для меня.

1 голос
/ 24 июня 2016

FileTimes - это так называемые тики. 10 миллионов проходят каждую секунду. Время файла 0 в полночь, 1 января 1601 (UTC).

Get-date также имеет тики, но база тиков, используемых Get-Date, НЕ 1601.
Это 1 января 1 года .
Вы можете в основном идентифицировать 2 различных типа тиков по первой цифре.

Тики файлового времени начинаются с цифры 1 в приблизительном диапазоне от -100 до + 200 лет.

Тики, использующие базу 1 января 0 года, начинаются с 6 примерно в том же временном диапазоне ...

В PowerShell вы можете получить подтверждение 1 января. 1-й год - отметка 0, набрав:

[datetime]'0001-01-01' | Select-Object -property Ticks
0 голосов
/ 03 января 2017

Он основан на вашем местном формате "длинной даты".

введите описание изображения здесь

Либо вам нужно изменить свою систему "Длинная дата"

(ИЛИ) Используйте приведенную ниже команду

(get-date) .tostring ("дд / мм / гггг")

введите описание изображения здесь

https://technet.microsoft.com/en-us/library/ee692801.aspx

С уважением, Manikandan Boopathy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...