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),小于范围为之前分钟,大于范围为之后分钟。
本文深入探讨了JavaScript中Date对象的使用方法,包括创建、属性、方法以及日期时间的设置与应用,提供了实例代码帮助理解。
969

被折叠的 条评论
为什么被折叠?



