将自定义字符串格式转换为日期对象
问题描述:
在我的工作中,我从公司的其他脚本中设置了AD属性中的某些日期,但是我想说的是一种不友好的格式。将自定义字符串格式转换为日期对象
字符串是以下几点:201710191528 它们坚持:为yyyymmddhhmm
我想将其转换为一个Date对象,但至今没有成功。
我虽然关于使用StringBuilder的操作字符串第一个格式我可以使用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,我可以使用它将工作。
现在,我会定期处理数千个这样的字符串。 有没有更高效的东西? 我无法让它与字符串格式一起工作。
非常感谢。
答
[datetime]::ParseExact('201710191528','yyyyMMddHHmm',$null)
http://winpowershell.blogspot.in/2006/09/systemdatetime-parseexact.html
答
201710191528
将被转换在2017-10-19 15:28
:
$strDate = "201710191528"
Get-Date([datetime]::ParseExact($strDate,'yyyyMMddHHmm',$null)) -Format "yyyy-MM-dd HH:mm"
+0
这是多余的。 对象类型DateTime已经被转换,所以在这种情况下执行ParseExact将返回一个DateTime对象。 不需要获取日期。 尽管谢谢你的建议。 – Ralms
这是完美的。正是我在找什么。非常感谢;) – Ralms