Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Int32中的过期日期转换为Powershell中的日期_Powershell - Fatal编程技术网

将Int32中的过期日期转换为Powershell中的日期

将Int32中的过期日期转换为Powershell中的日期,powershell,Powershell,我正在处理F5 SSL证书,并且我在到期日期和到期字符串上得到以下输出 到期日期:1531094399 expirationString:Jul 8 23:59:59 2018 GMT 问题1:如何将int 32的到期日期转换为日期并与当前日期进行比较 问题2:如何将ExpirationString与当前时间/日期进行比较。我想在30天后证书到期时生成邮件 我在Powershell中工作,因此请求相同的代码 方法为您提供了DateTimeOffset,其中包括datetime属性dateti

我正在处理F5 SSL证书,并且我在到期日期和到期字符串上得到以下输出

到期日期:1531094399

expirationString:Jul 8 23:59:59 2018 GMT

问题1:如何将int 32的到期日期转换为日期并与当前日期进行比较

问题2:如何将ExpirationString与当前时间/日期进行比较。我想在30天后证书到期时生成邮件

我在Powershell中工作,因此请求相同的代码

  • 方法为您提供了
    DateTimeOffset
    ,其中包括
    datetime
    属性datetime和LocalDateTime
  • [System.DateTimeOffset]:FromUnixTimeSeconds(1531094399)

  • 这将解析短月份名称、时区和一天或两天的数字:

  • [datetime]::ParseExact('Jul 8 23:59:59 2018 GMT','MMM d HH:mm:ss yyyy Z',[System.Globalization.CultureInfo]::InvariantCulture)

    :帮助不大。我在变量中存储过期字符串时遇到此错误$expirationString=$certificate.expirationString.Trim()#确保没有空格H:\>$expirationString Jul 8 23:59:59 2018 GMT H:\>$expirationString.GetType().fullname System.String$expirationString1=([datetime]::ParseExact($expirationString,'MMM d HH:mm:ss yyyy Z',[System.Globalization.CultureInfo]::InvariantCulture))使用“3”参数调用“ParseExact”时出现异常:“字符串未被识别为有效的日期时间。”第1行字符:1@TarunGupta它似乎很好,适用于不同语言设置的机器。我的答案中的示例有效吗?Hi@AdamL是的,当我直接放入字符串时它有效//有效[datetime]:ParseExact('Jul 8 23:59:59 2018 GMT','MMM d HH:mm:ss yyyyy Z',[System.Globalization.CultureInfo]::InvariantCulture)//不起作用$expirationString=$certificate.expirationString.Trim()$expirationString1=([datetime]::ParseExact($expirationString,'MMM d HH:mm:ss yyyy Z',[System.Globalization.CultureInfo]::InvariantCulture])这是我遇到的同一个问题,但无法解决…当我将'date'替换为变量时,它可以正常工作。$certificate.expirationString一定有问题。您确定它的格式正确吗?