ASP(Classic ASP)内でVBScriptを利用するプログラムでは、システム日付を取得し、YYYYMMDD形式等に変換することができる。
今回は、ASP(Classic ASP)とVBScriptを利用してシステム日付を取得し表示したり、システム日付の値による条件分岐を行うプログラムを作成してみたので、そのプログラムを共有する。
前提条件
下記記事のASP(Classic ASP)とVBScriptを利用してOracleに接続するプログラムの作成が完了していること。
サンプルプログラムの作成

なお、上記の赤枠は、前提条件のプログラムから追加・変更したプログラムである。
定数定義を行ったプログラムの内容は以下の通りで、比較用日付(STR_COMP_DATE)を定義している。
<% '各種定数を定義 '比較用日付 Const STR_COMP_DATE = "20220702" %>
また、ASPのプログラムの内容は以下の通りで、システム日付をYYYYMMDD形式で表示すると共に、比較用日付(STR_COMP_DATE)より後の場合はユーザーデータテーブルの値を表示しないようにしている。
<%@ LANGUAGE="VBScript" %>
<!-- #include file="sub/subora.inc" -->
<!-- #include file="sub/subConst.inc" -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="Shift_JIS"/>
<title>Oracle接続</title>
</head>
<body>
<%
'システム日付をYYYYMMDD形式で取得する
Dim sysDate
sysDate = Replace(Left(Now(),10), "/", "")
%>
<p>
システム日付(YYYYMMDD形式) : <%= sysDate %>
</p>
<br/>
<!-- システム日付が比較用日付より後の場合 -->
<% If StrComp(sysDate, STR_COMP_DATE) > 0 Then %>
Oracleのユーザーデータテーブル(USER_DATA)から、全データを取得します。<br/><br/>
<%
'USER_DATAテーブルから全データを取得する
Dim userDataList
Call GetUserDataList(userDataList)
%>
<!-- ユーザーデータを表示する -->
<!-- データが無い場合は、メッセージを画面表示し終了する -->
<% If userDataList.Count = 0 Then %>
ユーザーデータテーブルにデータはありません。
<% Else %>
<table border="1" cellpadding="5">
<tr>
<th>ID</th>
<th>名前</th>
<th>生年月日</th>
<th>性別</th>
<th>メモ</th>
</tr>
<%
Dim user
For Each user In userDataList
%>
<tr>
<td><%= user.getId() %></td>
<td><%= user.getName() %></td>
<td><%= user.getBirthDay() %></td>
<td><%= user.getSex() %></td>
<td><%= user.getMemo() %></td>
</tr>
<% Next %>
</table>
<% End If %>
<%
'ユーザーデータリストをクリアする
userDataList.Clear
Set userDataList = Nothing
Set user = Nothing
%>
<% End If %>
</body>
</html>
サンプルプログラムの実行結果
サンプルプログラムの実行結果は、以下の通り。
1) Oracleのデータ取得元となるテーブルのデータを、以下のように設定する。

2) subConst.incのSTR_COMP_DATEの設定値を、以下の値(20220702)に設定する。

3) ブラウザ上でURLに「http://localhost/oracle.asp」を入力すると、2022年7月3日に実行した場合、以下の画面が表示されることが確認できる。

4) subConst.incのSTR_COMP_DATEの設定値を、以下の値(20220703)に設定する。

5) ブラウザ上でURLに「http://localhost/oracle.asp」を再度入力し、2022年7月3日に実行した場合、以下のように、ユーザーデータテーブルの値が表示されないことが確認できる。

要点まとめ
- ASP(Classic ASP)内でVBScriptを利用するプログラムでは、システム日付を取得し、YYYYMMDD形式等に変換することができる。






