【发布时间】:2019-09-02 05:08:59
【问题描述】:
我是 Powershell 新手(一般是编码新手)。我想做的是:用户应该能够输入日期。 Powershell 应该会显示到明年 12 月 6 日的剩余天数。
示例:输入为 20/01/2017,输出应为距离 2018 年 6 月 12 日的剩余天数。
当我执行$days = New-TimeSpan -End (Get-Date -Year $inputdate3 -Month 12 -day 6) 时它工作得很好,但我想用我的字符串替换这个 cmdlet。
我的代码是:
$inputdate = Read-Host "Please enter the current date [DD/MM/YYYY] :"
$inputdate = [DateTime]::Parse($inputdate)
$inputdate2 = $inputdate.AddYears(1)
$inputdate3 = $inputdate2.Year
$days = New-TimeSpan -Start $inputdate -End $inputdate3 -Month 12 -Day 6 | ForEach-Object {$_.days}
echo "$days"
但我收到此错误:
New-TimeSpan : 参数集无法使用指定的解析 命名参数。在 C:\Users\Asli\Desktop\O2P2_Version1_2.ps1:96 字符:13 + $days = New-TimeSpan -Start $inputdate -End $inputdate3 -Month 12 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [New-TimeSpan], ParameterBindingException + FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.NewTimeSpanCommand
【问题讨论】:
-
这是一个参数集问题。如果使用
-Start和-End,则不能在同一命令中使用-Month和-Day。
标签: powershell