将Int32中的过期日期转换为Powershell中的日期
我正在处理F5 SSL证书,并且我在到期日期和到期字符串上得到以下输出 到期日期:1531094399 expirationString:Jul 8 23:59:59 2018 GMT 问题1:如何将int 32的到期日期转换为日期并与当前日期进行比较 问题2:如何将ExpirationString与当前时间/日期进行比较。我想在30天后证书到期时生成邮件 我在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
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一定有问题。您确定它的格式正确吗?