我正在尝试将许多日期从某些.log文件中的字符串转换为其他格式。他们目前显示如下:
2016年6月29日星期三下午12:15:27。
我需要他们采用06-29-16 12:15:27格式。
我必须对每个文件进行数千次转换。我试图想办法通过Powershell自动化转换。
下面的示例只是前5行。
到目前为止,我得到的最接近的是($ date包含字符串:
$日期
2016年6月29日星期三下午12:04:51
2016年6月29日星期三下午12:05:58
2016年6月29日星期三下午12:07:00
2016年6月29日星期三下午12:08:02
2016年6月29日星期三下午12:09:03
$ dates | foreach($ _){get-date -Format“MM-dd-yy hh:mm:ss”}返回:
07-19-16 08:11:16
07-19-16 08:11:16
07-19-16 08:11:16
07-19-16 08:11:16
07-19-16 08:11:16
07-19-16 08:11:16
07-19-16 08:11:16
这只是推出了当前的日期/时间。我需要将变量中的日期转换为它们的伴随日期/格式。
我真的很想丢失将日期转换为其他格式。不知怎的,我知道我的语法错了。但是我尝试过的所有迭代都不能正常工作!
我是Powershell的新手,但一直在努力解决这个问题。这个让我很紧张。
有没有办法用TONS字符串管道变量并更改日期格式?
或者我应该在其他地方寻找更简单,更优雅的解决方案?
帮助?
答案 0 :(得分:2)
问题在于foreach
正在运作的方式:
$dates | foreach ($_) {get-date -Format "MM-dd-yy hh:mm:ss"}
请改为尝试:
$dates | foreach {$_ | get-date -Format "MM-dd-yy hh:mm:ss"}
甚至更简单:
$dates | get-date -Format "MM-dd-yy hh:mm:ss"