1.日期对象

日期对象:

通过new Date()就能创建一个日期对象,这个对象中有当前系统时间的所有详细信息。

以下代码可以获取当前时间:

<script>
var t = new Date();
console.log(t);
console.log(typeof t);
</script>

如果想不停打印当前的时间,可以看以下代码:

<script>
setInterval(function () {
var t = new Date();
console.log(t);
},1000);

2.日期对象的参数

    参数:
(1)年月日 时分秒
new Date(2016,0,12,2,40,21);月是从0开始算,所以0表示的是1月
(2)字符串
new Date('Oct 27,2016 10:10:12');
(3)时间戳
时间戳(获取1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒))

以下代码,可以把注释打开,查看效果:

 <script>
var t= new Date(2016,0,12,2,40,21);//月是从0开始算,所以0表示的是1月。打印结果是Tue Jan 12 2016 02:40:21 GMT+0800 (CST)。
// var t= new Date("Oct 27,2016 10:10:12");//打印结果是Thu Oct 27 2016 10:10:12 GMT+0800 (CST)。
// var stemp= new Date().getTime();// 时间戳 距离 1970年1月1日0:0:0 的毫秒差。
// var t= new Date(stemp);//把时间戳传进去,获取对应的时间。打印的结果当前时间
// var t= new Date(0);//表示1970年1月1日0:0:0
// var t = new Date(stemp+10000*1000);//表示距离stmp10000秒之后的时间。
console.log(t);
</script>

3.获取详细时间和设置详细时间

获取详细时间:

    getFullYear(); 获取年
getMonth(); 获取月(月份从0开始计算)
getDate(); 获取日
getDay(); 获取天
getHours(); 获取时
getMinutes(); 获取分
getSeconds(); 获取秒
getMilliseconds(); 获取毫秒
getTime(); 获取1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒)

设置详细时间:

    setFullYear() 设置年
setMonth() 设置月 (月份从0开始计算)
setDate() 设置日
setHours() 设置小时
setMinutes() 设置分钟
setSeconds() 设置秒钟
setMilliseconds() 设置毫秒
setTime() 设置1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒)

注意:

        设置日期对象的时候只是在操作这个对象,没有操作本机的系统时间

4.字符时钟

点击查看字符时钟效果

以下是字符时钟代码:

<body>
<div></div>
<script>
var div=document.getElementsByTagName("div")[0];
//函数作用是,当获取的分秒小于0的时候,往前面加"0"。
function add0(num) {
if(num<10){
return "0"+num;
}else{
return num+"";
} }
setInterval(function () {
var t=new Date();
var hour=t.getHours();//获取时
var m=add0(t.getMinutes());//获取分
var s=add0(t.getSeconds());//获取秒
var time=hour+":"+m+":"+s;
div.innerHTML=time;
},1000); </script>
</body>

5.计算这个月有多少天的三种方式

方式一:

 <script>
//由于函数内部会计算每个月有多少天,当设置超出时,会溢出,得到的是下个月的时间。
var t=new Date();
var M=t.setMonth(0);//设着月份为1月
t.setDate(32);//设置天数为32天,但1月份只有31天则会溢出。则时间设置后是2月1号
console.log("2018年1月有"+(32-t.getDate())+"天");
</script>

方式二:

<script>
var t=new Date();
var M=t.setMonth(1);//设着月份为2月
t.setDate(0);//设置为0天,则会跳回上个月的最后一天。
console.log("2018年1月有"+(t.getDate())+"天");
</script>

方式三:

<script>
var t=new Date();
var M=t.setMonth(0);//设着月份为1月
t.setDate(32);//设置天数为32天,但1月份只有31天则会溢出。则时间设置后是2月1号
t.setDate(0);//设置为0天,则会跳回上个月的最后一天。
console.log("2018年1月有"+(t.getDate())+"天");
</script>

05-11 22:49