【问题标题】:How to get the previous hour time with format in powershell?如何在powershell中使用格式获取前一小时时间?
【发布时间】:2019-09-17 16:12:52
【问题描述】:

我需要用 PS 格式化查找前一小时的时间:

我需要以下格式:

"yyyy-MM-dd-HH:mm:sstt")

我可以使用以下代码以这种格式获取日期和时间:

(Get-Date  -Format "yyyy-MM-dd-HH:mm:sstt")  
2019-09-17-08:45:27AM

我需要以上述格式获取前一小时的时间

我知道如何获取最后一小时的时间:

(Get-Date).AddHours(-1)

如何结合上述方法获得前一小时的时间 格式?

【问题讨论】:

  • 如果您将.ToString("yyyy-MM-dd-HH:mm:sstt") 添加到您的(Get-Date).AddHours(-1),您将获得您想要的格式。与 PoSh 一样,实现目标的方法不止一种……[grin]

标签: powershell


【解决方案1】:

使用-f,格式运算符,如Ivan Mirchev's helpful answer 所示,绝对是一个选项,-f 是一个很好的通用格式化选项,适用于任何数据类型。

但是,在您的特定情况下,有一个更简单的解决方案,因为 [datetime] 实例的 .ToString() method 直接接受格式字符串:

(Get-Date).AddHours(-1).ToString('yyyy-MM-dd-HH:mm:sstt')

【讨论】:

    【解决方案2】:

    您可以尝试使用格式运算符:

    "{0:yyyy-MM-dd-HH:mm:sstt}" -f (get-date).AddHours(-1)
    

    更多详情:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-6#format-operator--f

    希望对您有所帮助! :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 2018-07-29
      • 1970-01-01
      相关资源
      最近更新 更多