質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

1回答

832閲覧

JST時間をhh:mm:ss形式で取得したい

WaterSausage

総合スコア3

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2020/11/13 13:59

前提・実現したいこと

どんな環境のPCでもJST時間でログを記録したいと考えています。
(英語OSでも、タイムゾーンを他国に設定していても)

ちなみに、NOW関数を使った場合はタイムゾーンに依存することがわかりましたので、
例えば地域をアメリカにしてしまうとアメリカ時間が取得されたのでNGでした。

いまのところの考えではUTC時間を取得してから+9時間を調整すればよいかと考えていますが、
思うように習得できずにいます。

試したこと

【参考元1】
https://www.366service.com/jp/qa/365938f2e4504e7ec8a8f445f0b47779

【URL先からコードを抜粋】

VBScript

1 Set dateTime = CreateObject("WbemScripting.SWbemDateTime") 2dateTime.SetVarDate (now()) 3wscript.echo "Local Time: " & dateTime 4wscript.echo "UTC Time: " & dateTime.GetVarDate (false)

この方法ではあとから数字の加工(+9時間)するこができなさそうで断念しました。。。

【参考元2】
http://www.wmifun.net/sample/win32_utctime.html

【URL先からコード抜粋】

VBScript

1Option Explicit 2 3'WMIにて使用する各種オブジェクトを定義・生成する。 4Dim oClassSet 5Dim oClass 6Dim oLocator 7Dim oService 8Dim sMesStr 9 10'ローカルコンピュータに接続する。 11Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator") 12Set oService = oLocator.ConnectServer 13'クエリー条件を WQL にて指定する。 14Set oClassSet = oService.ExecQuery("Select * From Win32_UTCTime") 15 16'コレクションを解析する。 17For Each oClass In oClassSet 18 19sMesStr = sMesStr & oClass.Hour & ": " & oClass.Minute & ": " & oClass.Second & vbCrLf 20 21Next 22 23MsgBox ("UTC (協定世界時) に関する情報です。" & vbCrLf & vbCrLf & sMesStr) 24 25'使用した各種オブジェクトを後片付けする。 26Set oClassSet = Nothing 27Set oClass = Nothing 28Set oService = Nothing 29Set oLocator = Nothing

この場合はhh:mm:ss形式で取得することはできませんでした。
7時8分5秒が7:8:5となる。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/11/13 14:05

> 7時8分5秒が7:8:5となる。。。 きちんと取れているようですが、それをどうしたいというはなしなんでしょうか。
WaterSausage

2020/11/16 00:15

ご回答が遅くなってしまいすみません。 希望としてはhh:mm:ssとして取得したかったので、例の場合では07:08:05が正解になります。
guest

回答1

0

自己解決

参考2で10より下の数には文字列0を追加してHH:MM:SSの形にしました。

投稿2020/11/16 14:10

WaterSausage

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問