Object ではあるが, 他とくらべると特殊
Java のCalendar クラス並みの処理はないが, Date よりはよいかな
var date = new Date(); // 現在の日付を返す
var d = new Date(2011,2,25); YYYY/mm/dd
var d = new Date(2011,2,25,23,59,59); YYYY,MM,DD,HH,mm,ss
月は 0~11(つまり1月は0)
ミリ秒もいける
var d = new Date(2011,2,25,23,59,59, 999);
Javaみたいに Calendar クラスを経由する必要はないのね
日付情報の取得
date.getFullYear();
date.setFullYear(year);
data.getYear();
date.getsetYear(year);
date.getMonth();
date.setMonth(month);
date.getDate();
date.setDate(date);
date.getHours(); // なぜかsがつく
date.setHours(hours);
date.getMinutes();
date.setMinutes(minutes);
date.getSeconds();
date.setSeconds(seconds);
文字列へ変換
date.toString();
date.toLocaleString();
- 数値(ミリ秒)へ
date.getTime();
- date を変更 (ミリ秒を引数にもつ)
date.setTime(time);
比較とか, 演算にはこの形式を利用する
var long_date = Date.parse(str); stringを解釈
- 比較
var date1 = new Date(2011,11,11);
var date2 = new Date(2012,12,12);
if ( date1.getTime() < date2.getTime() )
{
// とかね
}
加算・減算はこのミリ秒を使う
function calDay ( date, day )
{
var time = date.getTime();
var new_time = time + 24 * 60 * 60 * 1000 * day; // 数日分プラス, マイナス
date.setTime(new_time);
}
- コピー オブジェクトなので, 通常の代入を使うと, 参照コピーになるので
値のコピーには気を付ける
src = new Date();
var date = new Date(src); // コピー元データをもとに新しく作り直す
or
date.setTime(src.getTime()); // コピー元データをもとに新しく作り直す
0 件のコメント:
コメントを投稿