terça-feira, 29 de agosto de 2017

Calculando diferença de horários

O cálculo entre a diferença entre uma hora inicial e um horário final pode ser muito útil em diversos tipos de scripts em Powershell.

Vamos utilizar o seguinte para alcançar o objetivo:
  • GET-DATE
  • NEW-TIMESPAN

A seguir, um script que demonstra isso.

Armazena em uma variável a hora inicial.
CLS
Write-Host 'HORA INICIAL:'
$HoraIni = Get-Date
Write-Host $HoraIni.Hour':'$HoraIni.Minute':'$HoraIni.Second

Armazena em outra variável o horário após 10 segundos.
### Aguarda 10 segundos
Start-Sleep -Seconds 10

Write-Host 'HORA FINAL:'
$HoraFim = Get-Date
Write-Host $HoraFim.Hour':'$HoraFim.Minute':'$HoraFim.Second

Calcula a diferença com New-TimeSpan.
### Calcula a diferença entre os horários
$HoraDif = NEW-TIMESPAN –Start $HoraIni End $HoraFim
Write-Host 'Diferença entre os horários em segundos:'$HoraDif.Seconds
### $HoraDif.Seconds serve apenas para tempo menor do que 60

O resultado da execução do script pode ser conferido na imagem abaixo:


Um looping exibindo a diferença de tempo entre $HoraIni e $HoraFim (que, no caso é a hora corrente obtida com Get-Date.
While ($true) {
    $HoraFim = Get-Date
    Write-Host (NEW-TIMESPAN –Start $HoraIni End $HoraFim).ToString()
}

Nenhum comentário:

Postar um comentário