【问题标题】:Convert date and time string into datetime将日期和时间字符串转换为日期时间
【发布时间】:2019-07-08 05:41:22
【问题描述】:

我有一个字符串类型的变量,看起来像这样 $string = "07/07/2019 18:00"。我想将此变量转换为日期时间类型的变量。格式应为 MM/DD/YYYY HH:MM

$date = '07/07/2019'
$time = '18:00'
$datetime = $date + ' ' + $time
$datetime = [datetime]::ParseExact('$datetime', 'MM/DD/YYYY_HH:MM', $null)

使用上面的代码,我收到一条错误消息告诉我:

使用“3”个参数调用“ParseExact”的异常:“字符串未被识别为有效的日期时间。”

还有其他方法吗?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您的格式字符串使用了错误的说明符,即DDYYYY;见custom date and time formats

    将代码更改为

     $date = '07/07/2019'
     $time = '18:00'
     $datetime = $date + ' ' + $time
     $datetime = [datetime]::ParseExact($datetime, 'MM/dd/yyyy HH:mm', $null)
    
     $datetime
    

    还要注意将$datetime 作为参考而不是作为单引号字符串传递。

    您可以在link 下找到上述代码。

    【讨论】:

    • 谢谢,成功了。
    【解决方案2】:
    [datetime]'07/07/2019 18:00'
    
    
    Sunday, July 7, 2019 6:00:00 PM
    

    或者

    [datetime]'7/7'
    [datetime]'18:00'
    [datetime]'6pm'
    

    然后您可以添加或减去它们,但答案是[时间跨度]。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-17
      • 2011-09-08
      • 1970-01-01
      • 2022-08-18
      • 2014-04-23
      • 1970-01-01
      • 2017-05-20
      • 2013-02-24
      相关资源
      最近更新 更多