Powershell возвращает только время восхода / заката - PullRequest
0 голосов
/ 03 августа 2020
• 1000 Я пробовал добавить -format hh:mm (как показано выше), но он выдает ошибку:
Method invocation failed because [System.String] does not contain a method named 'ToLocalTime'.
At line:3 char:1
+ $Sunrise  = ($Daylight.Sunrise | Get-Date -Format HH:mm).ToLocalTime( ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

Как правильно это сделать?

1 Ответ

1 голос
/ 04 августа 2020

Согласно документации API , вы можете изменить формат даты. Используя параметр formatted = 0 , Get-date предоставит вам фактическое время в вашем часовом поясе.

$Daylight = (Invoke-RestMethod "https://api.sunrise-sunset.org/json?lat=35.608237&lng=-78.647497&formatted=0").results
$Sunrise  = ($Daylight.Sunrise | Get-Date -Format "HH:mm")
$Sunset   = ($Daylight.Sunset | Get-Date -Format "HH:mm")

Изменить для вчерашнего заката:

Если хотите вчерашний закат, вы можете задать конкретную дату c в Rest API:

$Yesterday = (Get-Date).AddDays(-1) | Get-Date -Format "yyyy-MM-dd"
$Daylight = (Invoke-RestMethod "https://api.sunrise-sunset.org/json?lat=35.608237&lng=-78.647497&formatted=0&date=$Yesterday").results
$Sunrise  = ($Daylight.Sunrise | Get-Date -Format "HH:mm")
$Sunset   = ($Daylight.Sunset | Get-Date -Format "HH:mm")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...