- ベストアンサー
javaで日付
javascriptの日付取得について 初心者で勉強したてなのですが、 例えば + * - とあって+をhtml上でクリックしたら当日の次の日付へどんどん進み、*は当日の2012091600みたいに<input type=""text">の中に表示。 -ならぜん前日の2012061500のように表示。 この様にしたいのですが、ド素人なもので分からない状態です。 ご指導頂けたら幸いです。ヨロシクお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
全角空白は、半角空白に置き換えて下さい。 (向こうでは放置されてた?) 日付のチェックは、サボりました。 <!DOCTYPE html> <title></title> <meta charset="UTF-8"> <body> <h1>叩かれ台</h1> <form action="#" id="test"> <p> <input type="text" name="target" value=""> <input type="button" value="+" onclick="hoge('+')"> <input type="button" value="*" onclick="hoge('*')"> <input type="button" value="-" onclick="hoge('-')"> </p> </form> <script> var ERR_MESS = '不正です'; var TARGET = document.getElementById ('test').elements['target']; function hoge (cmnd) { var value = TARGET.value; var result = null; var dateObj = null; switch (cmnd) { case '*' : result = toDateStr (addDay (new Date, 0)); break; case '-' : dateObj = dateCheck (value); if (! dateObj) { alert (ERR_MESS); return; } result = toDateStr (addDay (dateObj, -1)); break; case '+' : dateObj = dateCheck (value); if (! dateObj) { alert (ERR_MESS); return; } result = toDateStr (addDay (dateObj, 1)); break; } TARGET.value = result; } function addDay (dateObject, offsetDay) { var day = dateObject.getDate (); dateObject.setDate (day + offsetDay); return dateObject; } function toDateStr (dateObject) { var d = dateObject; return [ padding (d.getFullYear (), 4), padding (d.getMonth () + 1, 2), padding (d.getDate (), 2), '00' ].join (''); } function padding (num, z) { return ((Array (z)).join ('0') + String (num)).slice (-z); } function dateCheck (str) { var ymdx = str.match (/^(\d{4})(\d{2})(\d{2})(\d{2})$/); var result = null; if (ymdx) { result = new Date (Number (ymdx[1]), Number (ymdx[2]) - 1, Number (ymdx[3])); } return result; } </script>
その他の回答 (1)
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 20120916は日付だと思いますがそのあとの00はなんでしょうか。 補足ください。