Создание электронного письма с помощью Powershell - мне нужно исправить формат даты - PullRequest
0 голосов
/ 30 октября 2019

Я использую Invoke-RestMethod для получения данных по электронной почте о PO. Это работает.

Однако мой столбец с датой прибытия выглядит ужасно:

ARR_Arrived_Date

10/16/2019 12:00:00 AM
10/10/2019 12:00:00 AM
10/9/2019 12:00:00 AM
10/8/2019 12:00:00 AM

Мне не нужно время, только короткая дата.

Вотсоответствующий код:

$data = Invoke-RestMethod -Uri https://XXXXXXX/api/v1/BaqSvc/ArrivedPO/ -Credential $Cred -ContentType "Application/Json; charset=UTF-8"

$Header = @" <style> TABLE {border-width: 1px; border-style: solid;
border-color: #CCCCCC; border-collapse: collapse;} TH {border-width:
1px; padding: 3px; border-style: solid; border-color: black;
background-color: #00FF00;} TD {border-width: 1px; padding: 3px;
border-style: solid; border-color: black;} </style> "@

$message.IsBodyHTML = $true 

$message.Body = $data.value |
    ConvertTo-Html -Property ARR_PONum,ARR_PackSlip,ARR_Vendor_Name,ARR_Arrived_Date,ARR_Days_Arrived,ARR_FirstName,ARR_LastName,ARR_OrderNum,ARR_OpportunityID,ARR_Name -Head $Header

Я не знаю, как обратиться к столбцу ARR_Arrived_Date для форматирования даты. Пожалуйста, помогите!

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете использовать Расчетные свойства , с DateTime.ParseExact , см. Пример:

$message.Body = $data.value |
ConvertTo-Html -Property ARR_PONum,ARR_PackSlip,ARR_Vendor_Name,
@{N="ARR_Arrived_Date";E={[DateTime]::ParseExact($_.ARR_Arrived_Date ,"MM/dd/yyyy hh:mm:ss tt",$null)}},
ARR_Days_Arrived,ARR_FirstName,ARR_LastName,ARR_OrderNum,
ARR_OpportunityID,ARR_Name -Head $Header
...