1. Date オブジェクト
今日は、多くの場所で使用されている Date オブジェクトを見てみましょう。ウェブサイト上の場所でそのような時間の影響に遭遇しました。過去を振り返り、何か新しいことを学ぶために、今日は Date オブジェクトを思い出してみましょう。
まずその定義を見てみましょう:
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date [, 時間[, 分[, 秒[,ms]]]])
必須。数値の場合、dateVal は、指定された日付と 1970 年 1 月 1 日午前 0 時の間の UTC のミリ秒数を表します。文字列の場合、dateVal は parse メソッドのルールに従って解析されます。 dateVal パラメータは、ActiveX® オブジェクトから返される VT_DATE 値にすることもできます。 必須。通年、たとえば 1976 (76 年ではありません)。 必須。表される月は 0 ~ 11 の整数 (1 月から 12 月) です。 必須。日付を 1 ~ 31 の整数で表します。 オプション。ミリ秒を 0 ~ 999 の整数で表します。
Date オブジェクトは、特定の期間をミリ秒単位で表したものを保持します。パラメータの値がその範囲より大きいか負の場合、保存されている他の値もそれに応じて調整されます。たとえば、150 秒を指定すると、JScript は数値を 2 分 30 秒に再定義します。
数値が NaN の場合、オブジェクトは特定の期間を表しません。 Date オブジェクトに引数が渡されない場合は、現在の時刻 (UTC) に初期化されます。オブジェクトを使用するには、その前に値を割り当てる必要があります。
Date オブジェクトが表現できる日付範囲は、1970 年 1 月 1 日の前後約 285,616 年です。
Date オブジェクトには、Date オブジェクトを作成せずに呼び出すことができる 2 つの静的メソッドがあります。それらは解析と UTC です。
Date オブジェクトには多くのメソッドがありますが、それらは非常に単純なので、ここではリストしません。次を参照してください。
特別な注意:
********************************************** ***** ***************
var myDate = new Date(2006,11,23);
alert("year=" myDate.get Year() "******month=" myDate.getMonth() "**** ****day= myDate.getDate());
実行後の結果は year=2006 ******month=11************day=23
********************************************** ***** ***************
新しい日付が 12 のときに月が経過すると、この表示は正常です。
********************************************** ***** ***************
var myDate = new Date(2006,12,23);
alert("year=" myDate.get Year() "******month=" myDate.getMonth() "**** ****day= myDate.getDate());
実行後の結果は year=2007 ******month=0************day=23
********************************************** ***** ***************
非常に不可解なことです。最後に情報を確認したところ、month パラメータの値の範囲は 0 ~ 11 であり、値 12 を渡すことはできないことがわかりました。解決策は、値を渡すときに month-1 を設定し、外部から取得するときに 1 を加算することです。誰がより良い方法を持っているのかわかりません。
例:
var date=new Date(2010,0-1,15); //ここで 0 は 1 月を表し、1 を引くと 12 月になります
alter(date.getyear() "," (date.getMonth() 1) ) "," date.getDate());
var date=new Date(2010,12-1,15);
alert(date.get Year() "," (date.getMonth() 1) "," date.getDate());
パラメータは、2010/1/6 のような文字列形式です
例:
var txtpaymentDate='2010-1-6'
alert(txtpaymentDate.replace(/-/g,'/')); // 正規表現を使用します。 replace ' -'すべてを /
var date = new Date(txtpaymentDate.replace(/-/g,'/'));