Исходя из:
> $JSONResult
success : True
timestamp : 1519296206
base : EUR
date : 2018-06-12
rates : @{AUD=1,566015; CAD=1,560132; CHF=1,154727; CNY=7,827874; GBP=0,882047; JPY=132,360679; USD=1,23396}
вы могли бы получить, как собрать его вместе:
$request = 'http://data.fixer.io/api/latest?access_key=hexkeydeletedhexkeydeletedhexkey'
$x= Invoke-WebRequest $request
$JSONResult = $x | ConvertFrom-Json
If ($JSONResult.success){
$JSONResult.rates.PSObject.Properties | ForEach-Object {
New-Object -Type PSObject -Property @{
'date' = $JSONResult.date
'timestamp' = $JSONResult.timestamp
'base' = $JSONResult.base
'Currency Name' = $_.Name
'Currency' = $_.Value }
} | select date,timestamp,base,'Currency Name',Currency|ft -auto
}
Пример вывода:
date timestamp base Currency Name Currency
---- --------- ---- ------------- --------
2018-06-12 1519296206 EUR AUD 1,566015
2018-06-12 1519296206 EUR CAD 1,560132
2018-06-12 1519296206 EUR CHF 1,154727
2018-06-12 1519296206 EUR CNY 7,827874
2018-06-12 1519296206 EUR GBP 0,882047
2018-06-12 1519296206 EUR JPY 132,360679
2018-06-12 1519296206 EUR USD 1,23396
Чтобы преобразовать метку времени из формата даты и времени Unix в местное время, вы можете использовать эту функцию
Function Convert-FromUnixDate ($UnixDate) {
[timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds($UnixDate))
}
> (Convert-FromUnixDate 1528900809):ToString('G')
2018-06-13 16:40:09