gpt4 book ai didi

powershell - 奇数日期/时间格式

转载 作者:行者123 更新时间:2023-12-03 00:27:31 26 4
gpt4 key购买 nike

我在“卸载”注册表项中有一个程序,日期/时间是奇数。报告的值为“1533407816”,但实际日期很可能为“20180804”,这是当天安装的所有其他Autodesk产品报告的日期。
我正在使用[datetime]::ParseExact($program.GetValue('InstallDate'),'yyyyMMdd',$null)将这些日期转换为正确的DateTime,但不确定我需要哪种机制处理奇数。甚至是有意义的数据。

最佳答案

该值可能是Unix time戳记,它是1970年1月1日午夜(UTC)以来经过的秒数。

您可以按照以下方式在本地时间将此值转换为[datetime]实例:

[DateTimeOffset]::FromUnixTimeSeconds(1533407816).LocalDateTime

要获取UTC [datetime]实例,请使用 .UtcDateTime

或者,直接使用 [System.DateTimeOffset] 返回的 [DateTimeOffset]::FromUnixTimeSeconds() 实例。

注意:
  • Unix时间戳是以秒为单位的带符号的32位整数([int])。
    顺便说一句,这意味着它们可以表示的最新日期是在2038年中,即Year 2038 problem的限制。
  • 相比之下,[datetime]实例的分辨率为100纳秒,称为滴答声,存储在.Ticks属性中,其类型为[long]([System.Int64]是带符号的64位整数)。要将秒手动转换为滴答,请将它们与10000000L(1e7L)相乘。

  • 简单的辅助函数:
    function convertFrom-UnixTime {
    param([int] $Value)
    [DateTimeOffset]::FromUnixTimeSeconds($Value).LocalDateTime
    }

    实际上,在 Eastern Time Zone中,使用 en-US文化:
    PS> convertFrom-UnixTime 1533407816

    Saturday, August 4, 2018 2:36:56 PM

    Coordinated Universal Time (UTC)( en-US文化)表示:
    PS> (convertFrom-UnixTime 1533407816).ToUniversalTime()

    Saturday, August 4, 2018 6:36:56 PM

    关于powershell - 奇数日期/时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51936820/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com