在powershell中将字符串转换为日期时间

时间:2016-06-24 19:01:25

标签: string powershell datetime

我正在尝试解析文件名(字符串)并使用以下行将它们转换为powershell中的日期:

([datetime]::ParseExact($DirName.BaseName,'yyyyMMdd',$null)

问题是,并非该目录中的所有文件夹都遵循该命名约定。我将如何首先测试该文件夹是否符合命名约定,如果符合,则将其转换为日期时间对象?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我先不打算检查。只需将呼叫置于try..catch块中即可。不过,我建议使用InvariantCulture而不是$null

$culture = [Globalization.CultureInfo]::InvariantCulture
try {
  [datetime]::ParseExact($DirName.BaseName, 'yyyyMMdd', $culture)
} catch {
  # not a valid date
}