• ベストアンサー

javaで日付

javascriptの日付取得について 初心者で勉強したてなのですが、 例えば + * - とあって+をhtml上でクリックしたら当日の次の日付へどんどん進み、*は当日の2012091600みたいに<input type=""text">の中に表示。 -ならぜん前日の2012061500のように表示。 この様にしたいのですが、ド素人なもので分からない状態です。 ご指導頂けたら幸いです。ヨロシクお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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)
回答No.1

こんにちは。 20120916は日付だと思いますがそのあとの00はなんでしょうか。 補足ください。

関連するQ&A

専門家に質問してみよう