我尝试了许多不同的方法,但似乎无法正确解决。

这是到目前为止我尝试过的代码...

[String]$dateValue = '20161212'
[String]$dateStamp = $dateValue -f (Get-Date)
[String]$dateStamp2 = ([datetime]::parseexact($dateValue, "yyyyMMdd", [System.Globalization.CultureInfo]::InvariantCulture)).Date
[String]$dateStamp3 = ([datetime]::FromFileTime($dateValue)).ToString('g')

Write-Host '$dateStamp  = ' $dateStamp
Write-Host '$dateStamp2 = ' $dateStamp2
Write-Host '$dateStamp3 = ' $dateStamp3

当前代码输出
$dateStamp = 20161212
$dateStamp2 = 12/12/2016 00:00:00
$dateStamp3 = 12/31/1600 5:00 PM

所需的代码输出
$dateStamp = 12/12/2016

有任何想法吗?

最佳答案

一旦有了datetime对象,就可以轻松地将其转换为所需的任何字符串格式。您第二次尝试是如此接近。添加ToString可以指定字符串格式。

([datetime]::parseexact($dateValue, "yyyyMMdd", [System.Globalization.CultureInfo]::InvariantCulture)).ToString("dd/MM/yyyy")

关于powershell - 将日期格式从 "yyyymmdd"更改为 "mm/dd/yyyy",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36562124/

10-12 17:34