Что не так с моим полночным временем?

Я использую powershell, чтобы получить отчет об использовании среды Microsoft Azure.
Чтобы определить время начала и окончания, я использую следующее:

$reportedStartTime = (Get-Date -day 1 -hour 0 -minute 0 -second 0)
$reportedEndTime = (Get-Date -hour 0 -minute 0 -second 0)
IF($reportedEndTime -eq $reportedStartTime)
    {
    $reportedStartTime = ($reportedStartTime).AddMonths(-1)
    }

Затем я запускаю:

Get-UsageAggregates -ReportedStartTime $reportedStartTime -ReportedEndTime $reportedEndTime

Но я получаю следующую ошибку:

Get-UsageAggregates :  
InvalidInput: The reportedstarttime for daily aggregation granularity 
must have the time set to midnight (0:00:00Z).

Однако, если я вызываю переменную $ reportStartTime и просто копирую вставьте вывод:

Get-UsageAggregates -ReportedStartTime "01 сентября 2016 00:00:00" -ReportedEndTime "01 октября 2016 00:00:00"

Работает ...
Что здесь происходит?

1
задан 5 October 2016 в 10:40
2 ответа

Согласно вашему описанию, я думаю, мы можем использовать этот скрипт для получения отчета об использовании:

$reportedStartTime = (Get-Date -day 1 -hour 0 -minute 0 -second 0).datetime
$reportedEndTime = (Get-Date -hour 0 -minute 0 -second 0).datetime
IF($reportedEndTime -eq $reportedStartTime)
    {
    $reportedStartTime = ($reportedStartTime).AddMonths(-1)
    }
Get-UsageAggregates -ReportedStartTime $reportedStartTime -ReportedEndTime $reportedEndTime

Вот мой результат:
Отчет об использовании
Если у вас все еще есть вопросы , добро пожаловать, чтобы написать здесь. Спасибо.

2
ответ дан 3 December 2019 в 20:33

Внутренне тип .net DateTime имеет свойство «Kind», которое устанавливается на часовой пояс, в котором вы находитесь при создании DateTime. Вам нужно, чтобы это "Kind" было UTC.

В .net мне нравится этот DateTime.UtcNow.Date, чтобы получить UTC сегодня.

(Да, я знаю, что вопрос в PowerShell - я просто объясняю, почему я так думаю терпит неудачу - тогда знающий PowerShell человек может сказать, как это сделать в PowerShell)

0
ответ дан 3 December 2019 в 20:33

Теги

Похожие вопросы