Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。
JavaScriptでは、Dateオブジェクトとそのメソッドを使用することで、日付と時刻を扱うことができます。別件でCookieを扱う機会があったので、調べてみました。ソースはMozilla developer center。
- 書式
dateObjectName = new Date([parameters])
- 記述例
-
today = new Date()
Xmas95 = new Date("December 25, 1995 13:30:00")
Xmas95 = new Date(1995,11,25)
Xmas95 = new Date(1995,11,25,9,30,0)
memo1: 時/分/秒は省略するとゼロになる
memo2: 「1970年1月1日 00:00:00」からのミリ秒数(いわゆるepoch秒)として保持されます。
メソッド
- "set"系
- 日付や時刻の値を Date オブジェクトにセットする。
- "get"系
- Date オブジェクトから日付や時刻の値を取得する。
- "to"系
- Date オブジェクトから文字列の値を返す。
- parse および UTC
- Date 文字列をパースする。
曜日を返す getDay メソッドというものはあるが、これに対応する setDay メソッドというものはない。理由は、曜日は自動的にセットされるから。
Xmas95 = new Date("December 25, 1995")
-
Xmas95.getMonth()
→ 11Xmas95.getFullYear()
→ 1995
コード例
- 現在時間+1日の値をセットする
-
var exp = new Date();
exp.setTime(exp.getTime()+1*24*60*60*1000);
alert(exp);
- その年の残りの日数を表示する。
-
today = new Date()
endYear = new Date(1995,11,31,23,59,59,999) // 日と月をセット
endYear.setFullYear(today.getFullYear()) // 今年が何年かをセット
msPerDay = 24 * 60 * 60 * 1000 // 1 日のミリ秒数をセット
daysLeft = (endYear.getTime() - today.getTime()) / msPerDay
daysLeft = Math.round(daysLeft) // その年の残り日数を返す
- 1970年1月1日午前00:00:00から日付までのミリ秒を求める
-
var today = new Date();
today.setTime(Date.parse('October, 4 2000 07:04:11'));
today.setTime(Date.parse('1970/1/2'));
today.setTime(Date.parse('1999/7/28:11:23:58'));
- グリニッジ標準時を文字列に変換したものとして返す
-
var temp = theDate.toGMTString();
参照元: Core JavaScript 1.5 Guide, Date Object
Note: スパム対策が面倒なので、コメント投稿を廃止しました。以前のコメントは残します。
ご意見・ご要望はtwitter@sigwygかはてブコメントにて。