JavaScript 笔记 9 - Date对象

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'这个格式也可以使用,分隔符必须是斜杠。
在使用set函数时,年月日时分秒概念如下:
  • 年份(year), 4位整数。
  • 月份(month),当前范围(0~11),小于范围为之前年份,大于范围为之后年份。
  • 天(day),当前范围(1~31,注:根据实际月份天数计算),小于范围为之前月份,大于范围为之后月份。
  • 时(hours),当前范围(0~23),小于范围为之前天,大于范围为之后天。
  • 分(minutes),当前范围为(0~59),小于范围为之前小时,大于范围为之后小时。
  • 秒(seconds),当前范围为(0~59),小于范围为之前分钟,大于范围为之后分钟。
  • 毫秒(milliseconds),当前范围为(0~999),小于范围为之前分钟,大于范围为之后分钟。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值