UTC時刻を取得する方法を紹介します。AmazonのPAAPI5を利用する際、UTC時刻を指定する必要があります。外部APIを利用する際に必要な状況があるかと思います。
WbemScripting.SWbemDateTimeで解決する
WbemScripting.SWbemDateTimeをCreateObjectすることで簡単に取得することができます。時刻取得にはGetVarDate関数を使用します。引数にTrueを設定するとローカル時刻、Falseを設定するとUTC時刻を取得することができます。
注意事項としては、オブジェクト作成時は時刻が設定されていないため、SetVarDate Now()で現在時刻を設定する必要があることです。
サンプルプログラムを確認する(コピペOK)
Option Explicit
Sub sample()
Dim wmDate As Object
Set wmDate = CreateObject("WbemScripting.SWbemDateTime")
wmDate.SetVarDate Now() ' 初期値を設定する必要がある
Debug.Print Format(Now(), "yyyy/mm/dd hh:nn:ss") ' 2022/07/03 00:14:45
Debug.Print Format(wmDate.GetVarDate(True), "yyyy/mm/dd hh:nn:ss") ' 2022/07/03 00:14:45
Debug.Print Format(wmDate.GetVarDate(False), "yyyy/mm/dd hh:nn:ss") ' 2022/07/02 15:14:45
End Sub