这是我参与更文挑战的第16天,活动详情查看: 更文挑战
Date对象
Date对象用来处理日期和时间。
创建 Date 对象: new Date()
以下四种方法同样可以创建 Date 对象:
var d = new Date();
var d = new Date(milliseconds);
var d = new Date(dateString);
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
对于Date对象,其中有很多设置时间和日期的方法,要列举几十个出来太过繁琐,也没什么实际的意义,这些方法我们没必要全部记住,需要的时候查看JS的API文档即可。
这里给出几个常用的方法:
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getFullYear() 从 Date 对象以四位数字返回年份。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getTime() 返回 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() setTime() 方法以毫秒设置 Date 对象。
Date对象小案例
通过Date对象来制作一个简单的年历,亲自动手试一下吧!
<script>
var year = parseInt(prompt('输入年份:','2021'));//默认值是2021
document.write(calendar(year));//调用函数生成对应的年历
function calendar(y){
//获取指定年份1月1日是星期几
var week = new Date(y,0).getDay();
var html = '';//保存字符串拼接的年历html生成的结果
for(var i = 1; i <= 12; i++){
html += '<table>';
html += '<tr><th colspan="7">' + y + '年' + i + '月' +'</th></tr>';
html += '<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>';
//获取指定年份每个月的天数
var max = new Date(y,i,0).getDate();
for(var d = 1; d <= max; d++){
if(week && d == 1){//如果该月的第一天不是星期天,填充空白
html += '<td colspan="'+ week +'"></td>';
}
html += '<td>' + d + '</td>';
if(week == 6 && d != max){//如果星期六不是最后一天,则换行
html += '</tr><tr>';
}
else if(d == max){//如果是最后一天,闭合<tr>标签
html += '</tr>';
}
week = (week + 1 > 6)? 0 : week + 1;//如果是星期日,就让week为0,否则加一
}
html += '</table>';
}
return html;
}
</script>