javascriptで翌日のある日時を指定する方法です。
カスタムすれば、任意の日時にも変更できます!
「翌日」日付文字列を生成する
「翌日の13時」というデータがほしいときのサンプル。
var setNextDatetime = function() { // 翌日の生成 var dt = new Date() dt.setDate(dt.getDate() + 1) // 日付文字列を生成(yyyyMMddThh:mm:s) var zero2 = function(v) { return ('0' + v).slice(-2) } var nextDatetime = dt.getFullYear() + "-" + zero2(dt.getMonth() + 1) + "-" + zero2(dt.getDate()) + "T13:00:00" // セット $("input#xxxx").val(nextDatetime); console.log(nextDatetime); }
Date型と加減算
Date型は、セットする関数と取得する関数を組み合わせることで、加減算ができます。
var dt = new Date() dt.setDate(dt.getDate() + 1)
- getDate()で取得した値に加減算を行う
- setDate()でその値をセットする
をするだけで、翌日とかN日前とか計算してくれます。
便利。
2桁の数値にする関数
月日など2桁で表現したかったので、次のような関数を作成しました。
var zero2 = function(v) { return ('0' + v).slice(-2) }
「2桁のため」と思って作ったので名前が雑です(笑)
もう少しちゃんと作れば、更に応用の効く関数が作れると思います。
これでやっていることは
- 引数の値の先頭に'0'を追加
- 後ろから2文字分を取得して返す
ということをしています。
なので、「1」
- 「01」にする
- 後ろから2文字「01」を返す
「12」なら
- 「012」にする
- 後ろから2文字「12」を返す
となります。
参考
コチラを参考にしました。ありがとうございました。
あとがき
javascriptで「翌日の日時」を作成する方法でした。
時間などは固定にしているので、ここにもロジックを組み込んだりすれば、更に色々できます。