首页 > 解决方案 > Powershell 从日志文件中获取日期

问题描述

我想从日志文件文本中获取日期。

日志文件中的文本。

错误代码。200105. 简单文本等------------> 日期应为 2020 Jan 05

错误代码。2000207. 简单文本等------------> 日期应为 2020 Feb 07

我试试这个,但它不起作用。

Get-Date "200105" -format "ymd" 但它不起作用。

我也试试“200105”| 日期,但仍然是同样的问题

这确实有效 [datetime]::ParseExact("120105", "ymd", $null) 但我如何只获取日期但忽略所有其他文本

标签: powershell

解决方案


根据 文档,如果 Get-Date 从区域设置中识别出日期格式,则 Get-Date 会将字符串转换为日期。

例如,在英国,它识别 Get-Date "2020/03/21" 但不识别 Get-Date "20200321"

格式字符串仅用于格式化当前日期。

这有效:格式字符串中的字符数表示输入的大小(它与日期和年份中的位数相匹配 - 月份更复杂)并且 M 表示月份(m 表示分钟)。

PS /home/alistair> [datetime]::ParseExact("200321","yyMMdd",$null)    

2020 年 3 月 21 日星期六 00:00:00


推荐阅读