为什么这会成真?(获取日期现在设置为18 ...)是否可能采用Get-Date格式化数字的方式?我很难过......
正如一些人已经说过的那样,你正在进行字符串比较而不是数字比较
$Time = Get-Date -Format %H
$Time.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Run Code Online (Sandbox Code Playgroud)
为了做你想做的事,你可以把你$Time的数字转换成数字
[int]$Time -lt 9
#or with a little trick
+$Time -lt 9
Run Code Online (Sandbox Code Playgroud)
Get-Date -Format 返回一个字符串.
这意味着你要将2个字母的字符串 "18"与9进行比较.
该-lt运营商将(就像在PowerShell中的任何其他比较操作),在看到一个字符串作为左边参数,试图右手参数转换为字符串为好,因此比较有效:
"18" -lt "9"
Run Code Online (Sandbox Code Playgroud)
由于"1"在字母意义上出现在"9"之前,因此比较返回 $true
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |