PowerShell日志添加时间戳时如何去除多余空格?
解决PowerShell时间戳前后多余空格的问题
嘿,刚看到你的问题,作为PowerShell新手碰到这种小细节很正常~咱们一步步来解决:
首先,你看到的时间戳前后空格,本质是PowerShell处理函数返回值时的小特性——虽然你用了return,但Get-Date -Format返回的字符串有时候会带着隐含空白,或是子表达式$(...)在拼接时的默认格式化导致的。解决这个有两种简单方式:
方式一:在函数内部去除空格
修改你的Get-TimeStamp函数,给返回的字符串加上.Trim()方法,直接把前后空白干掉:
function Get-TimeStamp { return (Get-Date -Format 'yyyymmdd_hhmmss').Trim() }
方式二:调用函数时处理空格
如果不想改函数,在调用的时候给结果加.Trim()也可以:
Write-Host "[INFO].[$((Get-TimeStamp).Trim())] Message"
额外小提示(很重要!)
我注意到你用的格式字符串是yyyymmdd_hhmmss,这里有个新手容易踩的坑:小写的mm代表分钟,大写的MM才是月份!你输出里的20184827,其中48其实是当前分钟数,而不是月份。如果想要正确的「年-月-日_时-分-秒」格式,应该改成:
Get-Date -Format 'yyyyMMdd_HHmmss'
这样输出会是类似20240927_153522的正确格式,更符合日志的时间戳需求~
内容的提问来源于stack exchange,提问作者Rupesh
相关产品推荐
相关产品推荐

