| ■No92323 (はたさん さん) に返信 > Aテキストボックス2 →2019/09
■No92339 (はたさん さん) に返信 > var ym = document.getElementById('テキスト2').value; > var dt = new Date(ym + '-01');
上記コードは、ym が "2019-09" 形式の文字列であることを前提としています。 他の形式の文字列(たとえば空文字とか、不正な年月など)が 返される可能性がある場合は、適宜対処してください。
type="month" をサポートしているブラウザ(Android Chrome とか、Edge/Canary とか)であれば、 'yyyy-MM' 形式の文字列が得られることが期待されますが、非サポートなブラウザの場合は、 別の文字列になることがあります。
場合によっては、"2019/09" と入力された文字列を自前で解析して、 「var dt = new Date(2019, 8, 1);」形式に置き換える必要があるかもしれません。
ただしタイムゾーンの扱いに注意。(今回は影響が無いかもしれませんが)
dt1 = new Date("2019-09-01"); // Sun Sep 01 2019 09:00:00 GMT+0900 (日本標準時) dt2 = new Date(2019, 8, 1); // Sun Sep 01 2019 00:00:00 GMT+0900 (日本標準時) |