Dateオブジェクト

/web/javascript

Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。

JavaScriptでは、Dateオブジェクトとそのメソッドを使用することで、日付と時刻を扱うことができます。別件でCookieを扱う機会があったので、調べてみました。ソースはMozilla developer center

書式
dateObjectName = new Date([parameters])
記述例
  1. today = new Date()
  2. Xmas95 = new Date("December 25, 1995 13:30:00")
  3. Xmas95 = new Date(1995,11,25)
  4. 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() → 11
  • Xmas95.getFullYear() → 1995

コード例

現在時間+1日の値をセットする
  1. var exp = new Date();
  2. exp.setTime(exp.getTime()+1*24*60*60*1000);
  3.  
  4. alert(exp);
その年の残りの日数を表示する。
  1. today = new Date()
  2. endYear = new Date(1995,11,31,23,59,59,999) // 日と月をセット
  3.  
  4. endYear.setFullYear(today.getFullYear()) // 今年が何年かをセット
  5. msPerDay = 24 * 60 * 60 * 1000 // 1 日のミリ秒数をセット
  6. daysLeft = (endYear.getTime() - today.getTime()) / msPerDay
  7. daysLeft = Math.round(daysLeft) // その年の残り日数を返す
1970年1月1日午前00:00:00から日付までのミリ秒を求める
  1. var today = new Date();
  2. today.setTime(Date.parse('October, 4 2000 07:04:11'));
  3. today.setTime(Date.parse('1970/1/2'));
  4. today.setTime(Date.parse('1999/7/28:11:23:58'));
グリニッジ標準時を文字列に変換したものとして返す
  1. var temp = theDate.toGMTString();

参照元: Core JavaScript 1.5 Guide, Date Object

Note: スパム対策が面倒なので、コメント投稿を廃止しました。以前のコメントは残します。
ご意見・ご要望はtwitter@sigwygかはてブコメントにて。