我正在尝试比较一些日期时间字符串,但不确定为什么这是错误的?
PS> ( (get-date -f 'G') -gt ($ZeroHundred) -and (get-date -f 'G') -lt ($OFourHundred) )
False
PS> get-date -f 'G'
5/11/2019 1:20:53 AM
PS> $ZeroHundred
5/11/2019 12:00:00 AM
PS> $OFourHundred
5/11/2019 4:00:00 AM
PS> (get-date -f 'G').GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
PS> $ZeroHundred.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
PS> $OFourHundred.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
当我将其分解时,我明白了为什么,但是我不明白为什么:
PS> (get-date -f 'G') -lt ($OFourHundred)
True
PS> (get-date -f 'G') -gt ($ZeroHundred)
False
不是5/11/2019 1:20:53 AM大于5/11/2019 12:00:00 AM ???
现在,突然间,是真的吗?
PS> ( (get-date -f 'G') -gt ($ZeroHundred) -and (get-date -f 'G') -lt ($OFourHundred) )
True
PS> get-date -f 'G'
5/11/2019 2:10:53 AM
PS> $ZeroHundred
5/11/2019 12:00:00 AM
PS> $OFourHundred
5/11/2019 4:00:00 AM