プルダウンで日付指定

初心者です。
ブラウザ上でプルダウンで日付指定したいとき、数字を固定せずその日からその次の日まで選択させるにはどうすれば良いのでしょうか?
例えば添付したような場合です。
ご教授お願い致します。

スクリーンショット (2)

こんにちは。

「項目を選択」アクティビティで選択する日付を動的にいじりたいという感じですかね。
だとするとこんな感じに事前に変数に設定したい日付を代入しておいて、
その変数をその変数を「項目を選択」アクティビティの選択値にしてやる感じでしょうか。
※画像ではToday.Dayで実行当日の「日」を数値で取得してきて、文字列化しつつ選択値にしてます。
「月」はToday.Month、「年」はToday.Yearで同様に数値で取得できます。
翌日の日付はToday.AddDays(1)で取得できるので後は同様にToday.AddDays(1).Dayとかでやっていく感じですかね。

1 Like

早速ありがとうございます!
やってみます!

1 Like

ちなみに例示した方法だと1~9日は「1」~「9」で変数に代入されますので、
プルダウンの方のリスト値が「01」~「09」だった場合、適宜前ゼロを入れてやる必要があります。ご注意ください。

後者のほうだったようです。。。
前ゼロを入れる方法を教えていただいてもよろしいですか?

よくあります。
数値の時点では前ゼロの概念はないので、文字列化(.ToString)するときに前ゼロを入れてやりましょう。
今回提示した例でいくと、たとえばintTargetDay.ToString.PadLeft(2,"0"c)とすると
「文字列(intTargetDay.ToString)の長さが2になるまで」「左側に」「0を入れる」
という読み替えが行われます。
※今日実行したら「6」→[06」、10日に実行したら「10」→「10」ですね

なんかもう少しスマートな手段もある気もしますが、ひとまず試してみてください。

あ、ちゃかちゃかいじってたら普通にintTargetDay.ToString("00")でも2桁までの前ゼロ埋め行けましたね・・
こっちの方がわかりやすいかもしれません。

ありがとうございました!
intTargetDay.ToString(“00”)のほうで無事に作成することができました!

1 Like