VB.netでISO 8601の時刻を日本時間に変換する方法
AmazonのMWSには、AnyOfferChanged通知(サブスクリプションAPI)という機能があります。
設定しておくと、出品中の商品の情報に何か変化があった時、Amazon SQSにメッセージが送信されます。
プッシュ通知なので、自作の価格改定プログラムをAmazon SQSによるものに変えることで、変化があったときだけ処理すれば良いから効率的です。
商品数が増えてくると、全商品のデータをチェックするのにも時間がかかりますからね。
Amazon SQSで受信したメッセージを、VB.netで処理するプログラムを書いています。
(VB.netでAmazon SQSからメッセージを取得するサンプルプログラム作りました。)
メッセージ はXML形式です。
出品情報(価格とか、出品者とか)に変化があった日時は、「TimeOfOfferChange」という項目に記述されています。
次のような感じです。
2017-05-18T10:00:57.226Z
この「T」と「Z」を含む日時の形式は、ISO 8601と言います。
最後に「Z」がついているので、協定世界時(UTC)であることがわかります。
なので、単純に9時間足せば、日本時間になります。
VB.netの場合は、
CDate(“2017-05-18T10:00:57.226Z ”)
とするだけで、
#5/18/2017 07:00:57 PM#
と、日本時間に変換することができます。
「.226」はミリ秒の部分なので、省略されます。