VBA で日付(yyyy/mm/dd)をUTC日時に変換する方法でCreateObjectを使わない方法を教えて頂けないでしょうか。
下記のサイトを参考にCreate Objectで実装した所、端末によってはエラーが出るためです。
http://vba-geek.jp/blog-entry-310.html
変換例
2017/06/01 → 20170601000000.000000+540
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
1) まず最初に
20170601000000.000000+540
のように、UTCとの時差("+540"の部分:540分(9時間)UTよりも進んで(+)いる事を示す)がついているのは、UTではないローカル時間を表現する方法です。
質問に書かれている変換例は、UTCへ変換ではなく、JSTの表記例でしかありません。
2) UTC日時に変換するということは時間も考慮するという事だと思われますが、2017/06/01 のように時間が判らない (2017/06/01 0:00~2017/06/01 23:59の範囲であることしか判らない)ところを起点にしたのでは、日時を確定できません。
2017/06/01 12:34:00 (JST)のように、起点を特定することが必須です。
==
以下、2017/06/01 12:34:00 (JST)からUTC日時("yyyy/mm/dd hh:nn:ss"形式)を得る場合を例として、回答します。
上に書いたようにJSTはUTCより9時間進んでいますから、9時間戻せばUTCになります。
VBAのコードにすれば、以下のような感じです。
VBA
1' JSTの時刻(文字列)をUTC(Date)に変換する関数jst2utcの使用例 2Sub UTCに変換して表示() 3 Dim nowStr As String, utcStr As String, utDate As Date 4 5 nowStr = "2017/06/01 12:34:00" 'JSTの日時(サンプル) 6 7 utDate = jst2utc(nowStr) 'UTCに変換する関数(下に定義してあります) 8 9 utcStr = Format(utDate, "") 'UTCを文字列に変換 10 11 MsgBox (nowStr & "をUTCに変換すると, " & utcStr & "になります") 12End Sub 13 14' JSTの日時(文字列)を、UTC(Date型)に変換する関数 15Function jst2utc(jstString As String) As Date 16 Dim jstDate As Date, utDate As Date 17 18 jstDate = CDate(jstString) '日付を表す文字列を、日時(Date型)に変換する 19 utDate = jstDate - TimeSerial(9, 0, 0) ' シリアル値で表現した9時間を差し引く(時間を9時間戻してUTCにする) 20 21 jst2utc = utDate 'UTCを返す 22End Function
投稿2017/06/14 07:18
総合スコア6919
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
UTC日時のフォーマットについての詳細はわかりませセんが、例示の変換なら、下記のような式で可能かと。
Function GetUTCDate(StartDate As Date) GetUTCDate = Format(StartDate, "yyyymmddhhnnss") & ".000000+540" End Function
追記
そもそも、質問の「日付((JST)をUTC日時へ変換」という内容と、変換例が矛盾してますね。
変換例は、日付(JST)を特定のフォーマットに変換するものです。
質問内容に合致している回答は、coco_bauerさんの方で、変換例に合致しているが私の回答ということです。
Windowsにそのような変換をするコマンドが用意されているということは、どこかでそのようなフォーマットが使われているということですね。調べてるみるとどうやらイベントログで使われているようです。
イベント ログからの 1 日分のイベントの取得
投稿2017/06/14 01:52
編集2017/06/16 01:51総合スコア34362
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。