将自定义字符串格式转换为Date对象

时间:2017-10-19 15:02:10

标签: .net powershell

在我的工作中,我从公司其他脚本设置的AD属性中获取了一些日期,但我想说的是一种不友好的格式。

The Strings如下:201710191528 哪个代表:YYYYMMDDHHmm

我想将其转换为Date对象,但到目前为止还没有成功。

我虽然使用StringBuilder首先将String操作为我可以在Get-Date()上执行以下操作的格式:

$strB = New-Object System.Text.StringBuilder
$strB.Append("201710191528")
$strB.Insert(10,":")
$strB.Insert(8," ")
$strB.Insert(6,"-")
$strB.Insert(4,"-")

这很有效。 StringBuilder将有“2017-10-19 15:28”,非常适合Get-Date,我可以使用它。

现在,我将定期处理数千个这样的字符串。 有更高效的东西吗? 我无法使用字符串格式。

非常感谢你。

2 个答案:

答案 0 :(得分:0)

[datetime]::ParseExact('201710191528','yyyyMMddHHmm',$null)

http://winpowershell.blogspot.in/2006/09/systemdatetime-parseexact.html

答案 1 :(得分:0)

201710191528将在2017-10-19 15:28中转换:

$strDate = "201710191528"
Get-Date([datetime]::ParseExact($strDate,'yyyyMMddHHmm',$null)) -Format "yyyy-MM-dd HH:mm"