根据这段代码-高尔夫技巧,在PowerShell中,您可以使用科学符号来轻松生成10:https://codegolf.stackexchange.com/a/193/6776的幂数。
也就是说,1e7生成数字10,000,000。
如果我将此值传递给get-date (或别名date,用于代码高尔夫球),则只得到一个秒:即date 10000000 => 01 January 0001 00:00:01。
然而,如果我使用科学表示法,即使使用括号(即date (1e7)),也会得到一个错误:
Get-Date : Cannot bind parameter 'Date'. Cannot convert value "10000000" to type "System.DateTime". Error: "String was not recognized as a valid DateTime."
At line:1 char:6
+ date (1e7)
+ ~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.GetDateCommand问题
是否有方法对Get-date的默认(日期)参数使用科学表示法?
发布于 2016-12-31 14:00:00
这是因为1e7被输出为一个双,所以您只需将其转换为整数即可。
date ([int]1e7)如果在输出上调用GetType方法,您可以检查这一点:
(1e7).GetType() | Format-Table -AutoSize
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Double System.ValueType编辑:最短脚本可能是:
1e7l|date这是从PetSerAls comment -只是删除另一个字符使用管道而不是括号。
https://stackoverflow.com/questions/41408902
复制相似问题