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

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

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

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

Q&A

解決済

1回答

654閲覧

DateDiff関数を使用して、開始日から終了日(「〇日から3か月まで」のように幅を持たせる)で日数を求めることは可能でしょうか

korosuke3

総合スコア13

VBScript

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

0グッド

0クリップ

投稿2020/10/23 00:47

お世話になります。

DateDiff関数では開始日から終了日までの期間を表示できますが、

終了日を「〇日から3か月まで」のように幅を持たせることは可能でしょうか?

(例)
開始日:今日(2020/10/23)
終了日:2020/11/1~2020/2/1の間だったら期間を表示する

DateDiff関数を二つ使ってANDをとればできそうな気がするのですが
DateDiff関数の機能として、幅をもたせる機能はあるのでしょうか?

どうぞよろしくお願いいたします。

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

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

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

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

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

korosuke3

2020/10/23 01:22

ご回答ありがとうございます! 日数を求めた値を処理の判定に使おうとしていました。 DateAdd()を組み込んでみます。
dodox86

2020/10/23 01:31

回答のつもりではありませんでした。少なくとも私にとっては質問に不備があった(何を求めて、最終的に何をしたいか不明瞭だった)ので、それへのコメントです。あと、気にするべくは3ヶ月後の扱いをどうするかでしょうね。月ごとに日数は違うので。(その辺りはご自身の要望に合うよう、ご対応ください)
guest

回答1

0

ベストアンサー

DateDiff関数は期間を表示する機能しかありません。条件を付けることはできません。

終了日:2020/11/1~2020/2/1の間だったら期間を表示する

どこに表示するのでしょうか。
とりあえずMsgboxで表示させるとして、
If文を使えばいいでしょう。

vbs

1 BeginDate = InputBox("開始日") 2 EndDate = InputBox("終了日") 3 4 If EndDate >= #11/1/2020# And EndDate <= #2/1/2020# Then 5 MsgBox DateDiff("d", BeginDate, EndDate) & "日間です。" 6 End If

投稿2020/10/23 01:05

hatena19

総合スコア33782

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

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

korosuke3

2020/10/23 01:32

DateDiff関数で日付の幅を持たせる機能があるのか調べていました。 ないと教えていただけたので安心しました。 Ifの方法で設定します。 ありがとうございました!
korosuke3

2020/10/23 02:22

よくわかっていなくて申し訳ないのですが、DateDiff関数で終了日を12/1-3/1のように幅を持たせることはできるのでしょうか?
hatena19

2020/10/23 02:26

ちょっと意味か分かりません。 現状のコードを質問に追加して、どこをどのように修正したいのか具体的に説明してもらえますか。
hatena19

2020/10/23 02:27

あっ、もう解決済みになってますので、上記の内容で新規に質問を立てたほうがいいと思います。
korosuke3

2020/10/23 02:35

説明不足ですみません。 ------------------------------------------------ basedatetime = "2020/12/07 00:00:00" yuuyobi ="2020/03/07 00:00:00" checkdatetime = Now diffdatetime = DateDiff("s", basedatetime, checkdatetime) If diffdatetime < 0 then time_flg = "NO" Else If diffdatetime >= 0 then time_flg = "OK" End If End If ------------------------------------------------ というVBSがあります。 現在basedatetime, checkdatetimeの差分をとっているのですが 【basedatetime】と、【checkdatetimeからyuuyobiの幅の中】の差分がとれるDateDiffのオプションがあればと 思いました。
hatena19

2020/10/23 02:44

「【basedatetime】と、【checkdatetimeからyuuyobiの幅の中】の差分」 この差分とは具体的にどのような値になりますか。 例えば、 basedatetime = "2020/12/07 00:00:00" yuuyobi ="2020/03/07 00:00:00" checkdatetime = ”2020/10/23”00:00:00" の場合のあなたの期待する差分はなんでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問