JavaScript Date(日期)对象
日期对象用于处理日期和时间。
创建Date对象的方式
- var d = new Date(); 当前日期。
- var d = new Date(milliseconds); 从1970/01/01开始计算,milliseconds后的日期。
- var d = new Date(dateString); 日期字符串,格式为 'month dd, yyyy'或者'yyyy/mm/dd'。
- var d = new Date(year, month, day, hours, minutes, seconds, milliseconds); 指定年月日时间等,指定日期或者日期时间。
对象属性
属性 | 描述 |
constructor | 返回对创建此对象的 Date 函数的引用。 |
prototype | 使您有能力向对象添加属性和方法。 |
对象方法
方法 | 描述 |
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
getTimezoneOffset() | 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 |
getUTCDate() | 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 |
getUTCDay() | 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 |
getUTCFullYear() | 根据世界时从 Date 对象返回四位数的年份。 |
getUTCHours() | 根据世界时返回 Date 对象的小时 (0 ~ 23)。 |
getUTCMilliseconds() | 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 |
getUTCMinutes() | 根据世界时返回 Date 对象的分钟 (0 ~ 59)。 |
getUTCMonth() | 根据世界时从 Date 对象返回月份 (0 ~ 11)。 |
getUTCSeconds() | 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 |
parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
setDate() | 设置 Date 对象中月的某一天 (1 ~ 31)。 |
setFullYear() | 设置 Date 对象中的年份(四位数字)。 |
setHours() | 设置 Date 对象中的小时 (0 ~ 23)。 |
setMilliseconds() | 设置 Date 对象中的毫秒 (0 ~ 999)。 |
setMinutes() | 设置 Date 对象中的分钟 (0 ~ 59)。 |
setMonth() | 设置 Date 对象中月份 (0 ~ 11)。 |
setSeconds() | 设置 Date 对象中的秒钟 (0 ~ 59)。 |
setTime() | 以毫秒设置 Date 对象。 |
setUTCDate() | 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
setUTCFullYear() | 根据世界时设置 Date 对象中的年份(四位数字)。 |
setUTCHours() | 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
setUTCMilliseconds() | 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
setUTCMinutes() | 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
setUTCMonth() | 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
setUTCSeconds() | 根据世界时 (UTC) 设置指定时间的秒字段。 |
toDateString() | 把 Date 对象的日期部分转换为字符串。 |
toISOString() | 使用 ISO 标准返回字符串的日期格式。 |
toJSON() | 以 JSON 数据格式返回日期字符串。 |
toLocaleDateString() | 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 |
toLocaleTimeString() | 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 |
toLocaleString() | 据本地时间格式,把 Date 对象转换为字符串。 |
toString() | 把 Date 对象转换为字符串。 |
toTimeString() | 把 Date 对象的时间部分转换为字符串。 |
toUTCString() | 根据世界时,把 Date 对象转换为字符串。 |
UTC() | 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 |
valueOf() | 返回 Date 对象的原始值。 |
测试代码
//创建日期对象 var dt1 = new Date(); var dt2 = new Date(1455704907000); var dt3 = new Date('Feb, 17 2016'); var dt4 = new Date('2016/02/17 11:26:45'); var dt5 = new Date(2016, 1, 17); var dt6 = new Date(2016, 1, 17, 16, 23, 10); document.write('<table border="1"'); document.write('<tr>'); document.write('<td>' + 'var dt1 = new Date()' + '</td>'); document.write('<td>' + dt1.toLocaleString() + '</td>'); document.write('</tr>'); document.write('<tr>'); document.write('<td>' + 'var dt2 = new Date(1455704907000)' + '</td>'); document.write('<td>' + dt2.toLocaleString() + '</td>'); document.write('</tr>'); document.write('<tr>'); document.write('<td>' + 'var dt3 = new Date("Feb, 17 2016")' + '</td>'); document.write('<td>' + dt3.toLocaleString() + '</td>'); document.write('</tr>'); document.write('<tr>'); document.write('<td>' + 'var dt4 = new Date("2016/02/17 11:26:45")' + '</td>'); document.write('<td>' + dt4.toLocaleString() + '</td>'); document.write('</tr>'); document.write('<tr>'); document.write('<td>' + 'var dt5 = new Date(2016, 1, 17)' + '</td>'); document.write('<td>' + dt5.toLocaleString() + '</td>'); document.write('</tr>'); document.write('<tr>'); document.write('<td>' + 'var dt6 = new Date(2016, 1, 17, 16, 23, 10)' + '</td>'); document.write('<td>' + dt6.toLocaleString() + '</td>'); document.write('</tr>'); document.write('</table>'); / // 取日期时间中的某部分数据 / //getDate(),返回(1~31);getDay(),返回(0~6); //getFullYear(),返回年份;getHours(),返回(0~23); //getMilliseconds(),返回(0~999);getMinutes(),返回(0~59); //getMonth(),返回(0~11);getSeconds(),返回(0~59);getTime(),返回1970年1月1日至今的毫秒数。 document.write('<p>' + 'dt1.getDay() = ' + dt1.getDay() + ', 一周中的某天</p>'); document.write('<p>' + 'dt1.getFullYear() = ' + dt1.getFullYear() + ', 年份</p>'); document.write('<p>' + 'dt1.getMonth() = ' + dt1.getMonth() + ', 月份</p>'); document.write('<p>' + 'dt1.getDate() = ' + dt1.getDate() + ', 天</p>'); document.write('<p>' + 'dt1.getHours() = ' + dt1.getHours() + ', 小时</p>'); document.write('<p>' + 'dt1.getMinutes() = ' + dt1.getMinutes() + ', 分钟</p>'); document.write('<p>' + 'dt1.getSeconds() = ' + dt1.getSeconds() + ', 秒</p>'); document.write('<p>' + 'dt1.getMilliseconds() = ' + dt1.getMilliseconds() + ', 毫秒</p>'); document.write('<p>' + 'dt1.getTime() = ' + dt1.getTime() + ', 1970/01/01至今毫秒</p>'); / // 日期时间设置 / //setDate(dateInt), dateInt(1~31)。 dt5.setDate(0); document.write('<p>' + 'dt5.setDate(0) = ' + dt5.toLocaleDateString() + '</p>'); dt5.setFullYear(2016, 1, 17); dt5.setDate(1); document.write('<p>' + 'dt5.setDate(1) = ' + dt5.toLocaleDateString() + '</p>'); dt5.setFullYear(2016, 1, 17); dt5.setDate(-1); document.write('<p>' + 'dt5.setDate(-1) = ' + dt5.toLocaleDateString() + '</p>'); dt5.setFullYear(2016, 1, 17); dt5.setDate(60); document.write('<p>' + 'dt5.setDate(60) = ' + dt5.toLocaleDateString() + '</p>'); dt5.setFullYear(2016, 1, 17); dt5.setDate(-60); document.write('<p>' + 'dt5.setDate(-60) = ' + dt5.toLocaleDateString() + '</p>'); //setFullYear(year [,month [,day]])。year,4位整数; month(0~11); day(1~31)。 dt5.setFullYear(2016, 0, -15); document.write('<p>' + 'dt5.setFullYear(2016, 0, -15) = ' + dt5.toLocaleDateString() + '</p>'); dt5.setFullYear(2016, -1, -15); document.write('<p>' + 'dt5.setFullYear(2016, -1, -15) = ' + dt5.toLocaleDateString() + '</p>'); dt5.setFullYear(2016, 0, 15); document.write('<p>' + 'dt5.setFullYear(2016, 0, 15) = ' + dt5.toLocaleDateString() + '</p>'); dt5.setFullYear(2016, 1, 15); document.write('<p>' + 'dt5.setFullYear(2016, 1, 15) = ' + dt5.toLocaleDateString() + '</p>'); //setHours(hour[,min[,sec[,millisec]]])。hour(0~23);min(0~59);sec(0~59);millisec(0~999) dt6.setHours(0, 0, 0); document.write('<p>' + 'dt6.setFullYear(0, 0, 0) = ' + dt6.toLocaleTimeString() + '</p>'); dt6.setHours(9, 9, 9); document.write('<p>' + 'dt6.setFullYear(9, 9, 9) = ' + dt6.toLocaleString() + '</p>'); dt6.setHours(-9, 9, 9); document.write('<p>' + 'dt6.setFullYear(-9, 9, 9) = ' + dt6.toLocaleString() + '</p>'); dt6.setHours(-9, -9, -9); document.write('<p>' + 'dt6.setFullYear(-9, -9, -9) = ' + dt6.toLocaleString() + '</p>'); / // 日期时间应用 / //当前月的第一天 var fristDate = new Date(dt1.setDate(1)); document.write('<p>第一天 原时间部分: ' + fristDate.toLocaleString() + '</p>'); var fristDate = new Date(dt1.getFullYear(), dt1.getMonth(), 1); document.write('<p>第一天 无时间部分: ' + fristDate.toLocaleString() + '</p>'); //当前月的最后一天 var lastDate = new Date(dt1.getFullYear(), dt1.getMonth() + 1, 0, dt1.getHours(), dt1.getMinutes(), dt1.getSeconds(),dt1.getMilliseconds()); document.write('<p>最后一天 原时间部分: ' + lastDate.toLocaleString() + '</p>'); var lastDate = new Date(dt1.getFullYear(), dt1.getMonth() + 1, 0); document.write('<p>最后一天 无时间部分: ' + lastDate.toLocaleString() + '</p>'); //上月第一天、上月最后一天 var fristDate = new Date(dt1.getFullYear(), dt1.getMonth() - 1, 1); document.write('<p>上月第一天: ' + fristDate.toLocaleString() + '</p>'); var lastDate = new Date(dt1.getFullYear(), dt1.getMonth(), 0); document.write('<p>上月最后一天: ' + lastDate.toLocaleString() + '</p>'); //下月第一天、上月最后一天 var fristDate = new Date(dt1.getFullYear(), dt1.getMonth() + 1, 1); document.write('<p>上月第一天: ' + fristDate.toLocaleString() + '</p>'); var lastDate = new Date(dt1.getFullYear(), dt1.getMonth() + 2, 0); document.write('<p>上月最后一天: ' + lastDate.toLocaleString() + '</p>');
总结整理
- 在创建日期对象使用字符串时,'yyyy/mm/dd'这个格式也可以使用,分隔符必须是斜杠。
- 年份(year), 4位整数。
- 月份(month),当前范围(0~11),小于范围为之前年份,大于范围为之后年份。
- 天(day),当前范围(1~31,注:根据实际月份天数计算),小于范围为之前月份,大于范围为之后月份。
- 时(hours),当前范围(0~23),小于范围为之前天,大于范围为之后天。
- 分(minutes),当前范围为(0~59),小于范围为之前小时,大于范围为之后小时。
- 秒(seconds),当前范围为(0~59),小于范围为之前分钟,大于范围为之后分钟。
- 毫秒(milliseconds),当前范围为(0~999),小于范围为之前分钟,大于范围为之后分钟。