私はDate()
関数を使用して文字列を日付オブジェクトに変換します。問題は、もし私がDate("April , 31 ,2012")
とすれば、それはMay , 01 , 2012
(残りの日は動作しています)と思っています。私のアプローチが以下のコードから正しいことを確認してください。Javascript:日付は+1値で自動的にインクリメントされます(文字列をDateオブジェクトに変換)
function TestDate(objValue,strError){
var ret=true;
var frmdate=objValue.value;
var datesplit=frmdate.split("-");
var y =datesplit[0];
var m=datesplit[1];
var d=datesplit[2];
var testdate;
// Create date object using given input data
testdate = new Date(m+"/"+d+"/"+y);
alert("Created date"+testdate.toString());
var td=testdate.getDate();
var tm=testdate.getMonth()+1;
var ty =testdate.getFullYear();
alert(d+"="+td);
alert(m+"="+tm);
alert(y+"="+ty);
var valid=((d==td) && (m==tm) && (y==ty));
alert(valid);
if(valid == false)
{
ret =false;
}
return ret;
}
4月のみ30日しか使用できません。デフォルトでは31-04に1日が追加されるため、5月1日が返されます。 – ajreal
objValue.valueに「2012-04-25」の形式があります – Sridhar