Большое спасибо за полезные ответы.Я заметил, что таким способом можно применить задокументированные спецификаторы формата Microsoft Get-Date к часовым поясам (что было неочевидно, учитывая отсутствие опыта работы с Powershell).
Может оказаться полезным тестирование большинства из этих опций в наиболее распространенных часовых поясах.
Стандартное время линии даты [(UTC-12: 00) Международная линия даты Западная линия]
Стандартное время островных линий[(UTC + 14: 00) остров Киритимати]
Следующий код был запущен в субботу, 1 июня 2019 г., 01:01 по восточному поясному времени для преобразования в стандартное время на островах Лайн (UTC + 14: 00)
ShortDatePattern: Get-Date -format d
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('d')"
6/2/2019
LongDatePattern: Get-Date -format D
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('D')"
воскресенье, 02 июня 2019
Полная дата и время (длинная дата и короткое время): Get-Date -format f
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('f')"
Воскресенье, 2 июня 2019 г. 7:01
FullDateTimePattern (длинная дата и долгое время): Get-Date -format F
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('F')"
Воскресенье, 2 июня 2019 г. 7:01:23
Общее (короткая дата и короткое время): Get-Date -format g
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('g')"
6/2/2019 7:01
Общее (короткая дата и длительное время): Get-Date -format G
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('G')"
6/2/2019 7:01:25 AM
MonthDayPattern: Get-Date -format m
или Get-Date -format M
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('m')"
2 июня
Шаблон даты / времени в оба конца: Get-Date -format o
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('o')"
2019-06-02T07: 01: 27.8492082
RFC1123Pattern: Get-Date -format r
или Get-Date -format R
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('r')"
Вс, 02 июня 2019 07:01:28 GMT
SortableDateTimePattern (на основе ISO 8601) с использованием местного времени: Get-Date -format s
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('s')"
2019-06-02T07: 01: 29
ShortTimePattern: Get-Date -format t
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('t')"
7: 01 AM
LongTimePattern: Get-Date -format T
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('T')"
7: 01: 32 AM
UniversalSortableDateTimePattern, использующий формат для универсального отображения времени: Get-Date -format u
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('u')"
2019-06-02 07: 01: 33Z
Полная дата и время (длинная дата и долгое время) с использованием универсального времени: Get-Date -format U
эквивалент
Применение этой опции к любому часовому поясу (кроме UTC) дает смещение +4: 00 (возможно, в зависимости от местного часового пояса), что может быть проблематично.
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('U')"
воскресенье, 2 июня 2019 г. 11:01:34
YearMonthPattern: Get-Date -format y
или Get-Date -format Y
эквивалент
Powershell.exe -c "[System.TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Line Islands Standard Time').ToString('y')"
июнь 2019 г.