日付や日時の表示形式

ひげめがね
ひげめがね

VB Script では、日付や日時を好きな形式で表示するコマンド等がないため
自分で整形する必要があるよ。

下の「sample.vbs」の内容をメモ帳に貼り付けて、適当な名前で保存して

拡張子を「txt」から「vbs」に変更すれば実行できるよ。

sample.vbs
msgbox datetime_view(now())

function datetime_view(datetime_value)
  dtv = cdate(datetime_value)
  datetime_view = _
    year(dtv) & "/"  & futaketa(month(dtv)) & "/" & futaketa(day(dtv)) & " " & _
    futaketa(hour(dtv)) & ":" & futaketa(minute(dtv)) & ":" & futaketa(second(dtv))
end function

function futaketa(str)
  futaketa = right("0" & str,2)
end function

説明

  • msgbox:これはメッセージボックスを表示するためのコマンドです。
  • now():プログラムが実行された時の日時が代入されます。
  • function 関数名(引数)
    これは関数を宣言するためのコマンドです。
    関数とは一連のプログラムを1つのコマンドにまとめて実行するための機能の一つです。
    今回は「datetime_view」と「futaketa」を宣言しています。
    引数はその関数に値を渡すためのもので、「,」で区切れば複数使うことも可能です。
  • cdate(日付・日時文字列):日付や日時の文字列を、日付・日時型に変換する関数です。
  • year(日付・日時型):日付・日時型の値から年の部分を取り出します。
  • month(日付・日時型):日付・日時型の値から月の部分を取り出します。
  • day(日付・日時型):日付・日時型の値から日の部分を取り出します。
  • hour(日付・日時型):日付・日時型の値から時の部分を取り出します。
  • minute(日付・日時型):日付・日時型の値から分の部分を取り出します。
  • second(日付・日時型):日付・日時型の値から秒の部分を取り出します。
  • 上記以外にWeekday(日付・日時型)で曜日を表す数字(1~7)が取得できます。(1が日曜日)
  • :文字列を結合します。
  • 自作関数「datetime_view(datetime_value)」
    引数(datetime_value)で入っていた値をcdateで日付・日時型に変換し、
    それぞれのパーツ(年月日時分秒)に分解して、目的に応じた形に結合する関数
  • 自作関数「futaketa(str)」
    数字が1桁の際に左に”0”を追加して2桁にする関数
  • right(文字列、数値):文字列を右から数値数分取得する関数

ポイント

  • 日付・文字列型など、特定の型の値を入れる必要のある関数を使う前には、isdate関数などでチェックしてから目的の関数に渡すのが確実です。
  • 必要に応じnullのチェックも行いましょう。