2011-11-09 25 views
3

我有一個使用此Powershell module的Powershell腳本。它基本上允許我像查詢數據庫一樣查詢Excel工作簿。一切看起來都不錯,只是它讀取的日期不是日期而是不可靠的5位數日期表示。Powershell將Excel日期讀取爲5位數字

我已經檢查了文件本身的列格式,並且它們的格式應該是MM/DD/YYYY;我的腳本只是讀取它們作爲5位數字的日期。

例如:2/1/10 => 40057

我需要40057轉換爲相應的日期,或者使用一些原產於Powershell的(.NET),甚至forumla會設定我的權利。

謝謝。

回答

4

您獲得的電話號碼是自31/12/1899以來的天數。

您可以使用AddDays將該數字添加到.Net日期時間,也可以使用DateTime.FromOADate進行轉換。

對不起,我不知道具體的Powershell語法。

There is something strange with these days in the first two months of 1900.

+0

還需要知道,如果工作簿使用1904日期設置 - 見http://support.microsoft.com/kb/180162 – stuartd

+0

@HonusWagner「這是因爲Excel的行爲就好像日期1900 -Feb-29存在' - http://www.cpearson.com/excel/datetime.htm – stuartd

+0

@GvS我用DateTime.FromOADate和它完美的作品,謝謝。 –

相關問題