如何将带有序号后缀的日期字符串转换为另一种格式?

时间:2013-10-21 18:13:29

标签: date powershell ordinal

我有一堆文件都有如下名称格式:

'This is an example filename - 1st September 2013'
'This is an example filename - 23rd October 2013'

使用PowerShell我想像这样重命名文件:

'File-20130901'
'File-20131023'

我遇到问题的部分是将日期字符串转换为公认的日期格式。

使用可识别格式的日期字符串,我会执行以下操作:

PS> $date = '23 October 2013'
PS> Get-Date $date -Format 'yyyyMMdd'

但由于序数的月 - 日后缀,我在使用这些日期字符串时遇到了问题。

你会怎么做?

1 个答案:

答案 0 :(得分:3)

您可以使用正则表达式删除序数。这是一个例子:

(Get-Date ('23rd October 2013' -replace '(\d+)(\w+)(.+)', '$1$3')).ToString('\File-yyyyMMdd')