我试图将文件的时间戳值转换为日期时间,以便比较两个日期时间之间的差异。
数据将以24122014_022257的格式传输。我需要将其转换为日期时间,以便进行比较:
$usdate="24122014_022257"
$dateParts = $usdate -split "_"
$final = $dateparts[0] + $dateParts[1]
我该怎么做?
我试图将文件的时间戳值转换为日期时间,以便比较两个日期时间之间的差异。
数据将以24122014_022257的格式传输。我需要将其转换为日期时间,以便进行比较:
$usdate="24122014_022257"
$dateParts = $usdate -split "_"
$final = $dateparts[0] + $dateParts[1]
我该怎么做?
[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)
get-date 24122014022257
获取日期 24122014022257
[Globalization.CultureInfo]::InvariantCulture
而不是$null
。如果格式字符串具有 AM/PM 带标识符,而您的系统区域设置不支持该标识符,则后者将引发错误。 - Ansgar Wiechers[datetime]::ParseExact('24/12/2014','dd/MM/yyyy',$null)
会引发异常,但是[datetime]::ParseExact('24/12/2014','dd/MM/yyyy',[Globalization.CultureInfo]::InvariantCulture)
可以正常工作。 - miracle173[DateTime]::ParseExact('24/12/2014','dd/MM/yyyy',$null)
对我来说完全没有问题。 - Franklin Yu