プロが教える店舗&オフィスのセキュリティ対策術

プログラミング初心者です。
すみません。教えてください。

vbscriptの書き方です。
テーブルにある日付のレコード(yyyy/mm/dd)を取得して、
そのmm/ddが26日以降であれば翌月の25日を基準にプログラム処理する。
25日以前であれば当月の25日を基準にしてプログラム処理をするというように書きたいです。
先ずyyyy/mm/ddを、どのようにしてmm/ddだけを抽出すればよいか
書き方を教えていただけないでしょうか。
又、その日付が25日であれば当月。26日以降であれば翌月の25日を基準にするという
プログラムの書き方も教えていただけないでしょうか?

よろしくお願い致します。

A 回答 (1件)

「基準」 とか、おそらく質問者が作成しようとしているプログラムの中で使っている単語なんだろうけど、回答する者にとっては何のこっちゃって感じ。



DB から日付値を取得した。(yyyy/mm/dd)
この日付値の中身によって、当月 25日または次月 26日の日付値を生成したい。(yyyy/mm/dd)
条件としては、DB から取得した日付値の day の部分が 26日~月末の場合は次月 26日の日付を生成し、1日~25日であれば当月 25日の日付値を生成する。
という質問?

VBScript は何年もやってないのですが、以下のような感じじゃダメ?

--------------------
Dim sourceDate ' DB から取得する日付値を格納する変数
Dim baseDate ' 生成する日付値

sourceDate = ・・・ ' DB から日付値を取得
If Day(sourceDate)<= 25 Then
  baseDate = DateSerial(Year(sourceDate), Month(sourceDate), 25)
Else
  baseDate = DateSerial(Year(DateAdd("m", 1, sourceDate)), Month(DateAdd("m", 1, sourceDate)),25)
End If
--------------------

以上のように、希望する日付値を生成するだけなら mm/dd を抽出する必要はないのですが、、、
それとも別の理由で mm/dd という形式の文字列が欲しいとか?
hoge = Year(sourceDate) & "/" & Month(sourceDate)
で生成できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!