将日期格式从"yyyymmdd"更改为"mm/dd/yyyy"

Fid*_*eak 5 powershell powershell-3.0

我尝试了很多不同的方法,但我似乎无法做到这一点.

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

[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
Run Code Online (Sandbox Code Playgroud)

当前代码输出

$dateStamp = 20161212
$dateStamp2 = 12/12/2016 00:00:00
$dateStamp3 = 12/31/1600 5:00 PM
Run Code Online (Sandbox Code Playgroud)

期望的代码输出

$dateStamp = 12/12/2016
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Nic*_*ick 8

一旦你有了一个datetime对象,它很容易将它转换为你需要的字符串格式.第二次尝试你是如此接近.添加ToString允许您指定字符串格式.

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