PowerShell 中的字符串到日期时间的转换

String to DateTime conversion in PowerShell

我正在尝试将文件的时间戳值转换为日期时间以比较两个日期时间差。

数据将采用 24122014_022257 格式。我需要将其转换为日期时间以便比较值:

$usdate="24122014_022257"   
$dateParts = $usdate -split "_"   
$final = $dateparts[0] + $dateParts[1]   

我该怎么做?

您可以使用 ParseExact 方法:

[datetime]::ParseExact('24122014_022257','ddMMyyyy_HHmmss',$null)

Wednesday, December 24, 2014 2:22:57 AM

ParseExact 将做到这一点。您可以在第二个参数中指定自定义日期时间格式。您可以将第三个参数保留为空,或指定要使用的区域性(如果您要导入从具有不同时区的系统生成的文件,这可能很重要)。

$usdate="24122014_022257"
[datetime]::ParseExact($usdate,"ddMMyyyy_HHmmss", [System.Globalization.CultureInfo]::CurrentCulture)

获取日期 24122014022257

2014 年 12 月 24 日星期三2:22:57上午