【问题标题】:Powershell reading Excel date as 5 digit numberPowershell 将 Excel 日期读取为 5 位数字
【发布时间】:2011-12-25 11:36:48
【问题描述】:

我有一个使用此Powershell module 的 Powershell 脚本。它基本上允许我像数据库一样查询 Excel 工作簿。一切看起来都不错,只是它将日期读取为不稳定的 5 位日期表示而不是日期。

我已经检查了文件本身的列格式,它们的格式应该是 MM/DD/YYYY;我的脚本只是将它们读取为 5 位数的日期。

示例:2/1/10 => 40057

我需要将 40057 转换为适当的日期,或者使用 Powershell (.NET) 原生的东西,或者甚至是论坛都会让我正确。

谢谢。

【问题讨论】:

    标签: .net excel datetime powershell


    【解决方案1】:

    您得到的数字是自 1899 年 12 月 31 日以来的天数。

    您可以使用 AddDays 将数字添加到 .Net DateTime 来转换它,也可以使用 DateTime.FromOADate

    抱歉,我不知道具体的 Powershell 语法。

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

    【讨论】:

    【解决方案2】:

    这是基于 @GvS' answer 的 PowerShell 语法:

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

    输出:

    Tuesday, April 2, 2019 12:00:00 AM
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2015-03-05
      • 2018-04-16
      • 1970-01-01
      相关资源
      最近更新 更多