Powershell читает дату Excel в виде 5-значного числа - PullRequest
3 голосов
/ 09 ноября 2011

У меня есть скрипт Powershell, который использует этот модуль Powershell .Это в основном позволяет мне запрашивать книги Excel как базу данных.Все выглядит хорошо, за исключением того, что он считывает даты в виде неправильного представления из 5 цифр вместо даты.

Я проверил форматирование столбцов в самих файлах, и они отформатированы как MM / DD / YYYY, так как онидолжно быть;мой сценарий просто читает их как 5-значную дату.

Пример: 2/1/10 => 40057

Мне нужно преобразовать 40057 в соответствующую дату, либо используя что-то нативное дляPowershell (.NET) или даже форумелла бы меня поправили.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 09 ноября 2011

Число, которое вы получите, это количество дней с 31/12 / 1899.

Вы можете преобразовать его, добавив число в .Net DateTime с помощью AddDays, или вы можете использовать DateTime.FromOADate .

Извините, я не знаю определенного синтаксиса Powershell.

Что-то странное в эти дни в первые два месяца 1900 года.

0 голосов
/ 29 апреля 2019

Вот синтаксис PowerShell, основанный на ответе @ GvS :

$date = 43557
[DateTime]::FromOADate($date)

Выход:

Tuesday, April 2, 2019 12:00:00 AM
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...