js文字列日付yyy-M-ddをdateコードに変換


最近の問題は、フォームの日付を取得して楽屋にjson方式で送るとき、Date.parse関数がffでエラーを報告しました。NANは資料を探しましたが、Date.parse()関数が日付フォーマットに対して要求があります。Date.parse関数を詳細に参照して、js操作日付に対して:日付オブジェクトを作成します。引数の形式は以下の5種類があります。
 
view plainnew Date("month dd,yyyy hh:mm:ss");
new Date("month dd,yyyy");
new Date(yyyy,mth,dd,hh,mm,ss);
new Date(yyyy,mth,dd);
new Date(ms);
説明:month:英語で月の名前を表します。JanuaryからDecemthまで整数で月を表します。0(1月)から11(12月)までContend dd:一ヶ月の何日間を表しますか?1から31 yyyy:4桁の年齢hh:時間数、0(真夜中)から23 mmまでです。0から59までの整数ss:秒数は、0から59までの整数ms:ミリ秒数であり、0以上の整数であり、作成が必要な時間とGMT時間の1970年1月1日との間のミリ秒数を表しています。Javascriptの日付の構造はnew Date(「yyy/MM/dd」)にも対応できることを発見しました。ここで、MMは整数であり、月は0(1月)から11(12月)までを表しています。このように正規表現を使うと文字列の日付を変換することができます。テストコード:
 
<mce:script type="text/javascript"><!--
document.write("<br/>" + new Date("February 3,2009"));
document.write("<br/>" + new Date("February 3,2009 10:52:03"));
document.write("<br/>");
document.write("<br/>" + new Date(2009,1,3));
document.write("<br/>" + new Date(2009,1,3,10,52,03));
document.write("<br/>");
document.write("<br/>" + new Date(Date.parse("February 3,2009")));
document.write("<br/>" + new Date(Date.parse("February 3,2009 10:52:03")));
document.write("<br/>" + new Date(Date.parse(2009,1,3))); //Output: NAN
document.write("<br/>" + new Date(Date.parse(2009,1,3,10,52,03))); //Output: NAN
document.write("<br/>" + new Date(Date.parse("2009/02/03")));
document.write("<br/>");
document.write("<br/>" + new Date("2009/02/03"));
document.write("<br/>" + new Date("2009/02/03 11:12:13"));
document.write("<br/>" + new Date("2009-02-03")); //Output: NAN

// --></mce:script>
出力結果:Tue Feb 3 00:00 00 UTC+0800 2009 Tue Feb 3 10:52:03 UTC+0800 2009 Tue Feb 3 00:00 00 00 00:00 00 00 00 00 00:00 00 00 00 00 00 00 UTC+0800 2009 Tue Feb 3:52 UTC+0800 2009 Tue Feb 3 00 00:00 00 00 00 00:00 00 00 00 00 00 UTC+08 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2009 Tue Feb 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010:13 UTC+0800 2009NaN--------------
 
window.onload=function(){
var dependedVal="2005-3-4";
//
var regEx = new RegExp("\\-","gi");
dependedVal=dependedVal.replace(regEx,"/");
//dependedVal=dependedVal.replace("\\-","/");//
alert(dependedVal)
//parse 2005/3/4
var milliseconds=Date.parse(dependedVal);
alert(milliseconds)
var dependedDate=new Date();
dependedDate.setTime(milliseconds);

var now = new Date();
// , ,
alert(" :"+(now.getFullYear() - dependedDate.getFullYear()));
}
実は日付はブラウザとサーバの間で伝送してすべてミリ秒の値を通じて(通って)伝えなければならなくて、さもなくば400エラーを報告します!