Javascript从零基础到精通——Date
程序员文章站
2024-03-16 13:12:46
...
Date内置对象
日期对象创建
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数(时间戳)
var date = new Date(); //当前时间的日期对象
var data = new Date(2012,6,10); //2012年7月10号的日期对象
Date.now(); // 获取当前时间戳,得到一个number
获取日期的方法:
设置日期的方法:
★注意:
1、setDay( Date内置对象里没有这个方法,星期是通过设定日期自动计算的 )
2、set系列API可以设置比当前范围更精细的时间
比如:setFullYear(2012,3,5) 设置日期为2012年4月5号
setHours(13,30,0) 设置时间为13:30:00
时间常识
1秒=1000毫秒
1分钟=60秒
1小时=60分=3600秒
1天=24小时=1440分=86400秒
Date的参数
setFullYear(year,month,day)
-
year:
必需,表示年份的四位整数 -
month:
可选,介于 0 ~ 11 之间:如果不填,取系统当月
-1 为去年的最后一个月
12 为明年的第一个月
13 为明年的第二个月 -
date:
可选,表示月中某一天的数值。如果不填,取系统当日
用本地时间表示。介于 1 ~ 31 之间:
0 为上个月最后一天
-1 为上个月最后一天之前的天数
如果当月有31天:32 为下个月的第一天
如果当月有30天:32 为下一个月的第二天
实例演示
现在时间:13:11:43
var date = new Date(2012, 2, 15, 13, 11, 43);
// 2012年3月15日 13:11:43
date.setFullYear(2013, 5);
// 2013年6月15日 13:11:43
date.setFullYear(2012, 20, 5);
// 2013年9月5日 13:11:43
Date应用
1. 计算已经过了元旦多少天了?
// 计算已经过了元旦多少天
var date = new Date(); // 获取当前日期
// 先获取当前时间戳
var nowTime = date.getTime();
// 把日期拨到元旦那天(1月1日, 传参0月1日)
date.setMonth(0, 1);
// 获取元旦的时间戳
var ydTime = date.getTime();
// 不需要取整, 得到的结果本身就一定是整数
// 使用的是同一个date对象, 只设置了月和日, 时分秒是不变的
var days = (nowTime - ydTime) / 1000 / 60 / 60 / 24;
console.log(days);
2. 距离下班还有多久?
setInterval(function () {
// 18: 00: 00 放学
var date = new Date;
// 获取当前时间戳
var nowTime = date.getTime();
// 把时间调到放学的时间
date.setHours(18, 00, 0);
// 获取放学的时间戳
var endTime = date.getTime();
// 不考虑毫秒, 精确到秒即可
var time = parseInt((endTime - nowTime) / 1000);
// 转换成 00: 00: 00
/*
3663秒 === 01: 01: 03
3663 % 60 === 03
(3663 - 03) / 60 % 60 === 01
(3663 - 03 - 01 * 60) / 3600 === 01
*/
// 获取秒数
var seconds = time % 60;
// 获取分钟数
var minutes = (time - seconds) / 60 % 60;
// 获取小时数
var hours = (time - seconds - minutes * 60) / 3600
var h1 = document.getElementById('h1');
h1.innerHTML = '距离下班还有' + hours + ':' + minutes + ':' + seconds
}, 1000);
3. 获取某个月有多少天
var year = prompt('输入年份')
var month = prompt('请输入月份')
// new一个日期,日期就是当前月得1号
// var date = new Date(year, month - 1, 1)
// 想要得到这个月总共多少天,其实就是要得到这个月的最后一天是几号
// 我们要得到这个月最后一天的日期对象,其实也就是得到下个月的第0天
var date = new Date(year, month, 0)
// 获取最后一天是几号
console.log(date.getDate())
下一篇: Git从零基础到入门