Когда я запускаю ниже 2 заявления Powershell, я ожидаю, что они возвратят тот же самый результат, но на самом деле они возвращают разные результаты:PowerShell время дата выпуска преобразования
New-TimeSpan $(Get-Date) $(Get-Date -month 12 -day 31 -year 2016)
New-TimeSpan $(Get-Date) $(Get-Date "2016-12-31")
Результаты являются:
Days : 751
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 1
Ticks : 648864000010001
TotalDays : 751.000000011575
TotalHours : 18024.0000002778
TotalMinutes : 1081440.00001667
TotalSeconds : 64886400.0010001
TotalMilliseconds : 64886400001.0001
Days : 750
Hours : 6
Minutes : 50
Seconds : 13
Milliseconds : 67
Ticks : 648246130673175
TotalDays : 750.284873464323
TotalHours : 18006.8369631437
TotalMinutes : 1080410.21778863
TotalSeconds : 64824613.0673175
TotalMilliseconds : 64824613067.3175
Любая идея, что происходит?
кажется, что '(Get-Date -месяца 12 -дня 31 -летний 2016)' также принимает текущее время. тогда как другой установлен на полночь. Должно быть связано с использованием двух разных наборов параметров. – Matt
Вы пытались сломать это на кусочки? например вызывая 'Get-Date' и сохраняя значение и используя это значение при построении нового' TimeSpan'? – David
В дополнение к проблеме @Matt указывает ..., дважды вызывая 'Get-Date' (без параметров), вы используете (слегка) разные значения, по крайней мере теоретически. – David