【发布时间】:2012-06-22 18:51:51
【问题描述】:
我在这方面做了很多搜索,还没有找到答案,但我觉得我很接近了!
我在文本文件中有以下格式的日期:18/06/2012 23:00:43 (dd/mm/yyyy HH:MM:SS),我想使用 Powershell 将其转换为:2012-18-06 23:00:43 (yyyy-dd-mm HH:MM:SS)。
要使用正则表达式在文本编辑器中执行转换,我会这样做:
Find: ([0-9]+)/+([0-9]+)/+([0-9]+)
Replace with: \3-\2-\1
所以我尝试在以下 Powershell 脚本中使用相同的逻辑:
(Get-Content C:\script\test.txt) |
Foreach-Object {$_ -replace "([0-9]+)/+([0-9]+)/+([0-9]+)", "(\3-\2-\1)"} |
Set-Content C:\script\test.txt
但这会导致以下不良变化:
\3-\2-\1 23:00:43
谁能帮我解决这个问题?
非常感谢!
【问题讨论】:
-
如果您在某个变量 ($date) 中有日期字符串,那么在 powershell 中轻松重新格式化它:(Get-Date $date).ToString('yyyy-dd- MM HH:mm:ss')
标签: regex date powershell replace