日期与时间
Date对象:表示的是日期和时间
如何定义 ?
var d = new Date();
这个代表的是获取计算机系统的时间(浏览器所在计算的时间)
日期对象内部记录的是从1970年1月1日0点0分0秒到现在的毫秒数,我们看到的是按照毫秒数计算出来的年月日,时分秒。
所以我们要用到这样一个函数:
getTime(): 返回的是从1970年1月1日0点0分0秒到现在的毫秒数。
如何从年月日,时分秒转换成毫秒?
一天是多少小时 :24
一天是多少秒 :24 *60 *60 = 86400
一天是多少毫秒 :24 *60*60*1000 = 86400000
...
即电脑上如记录的数字是:86400000 那么就是 1970年1月2日,0点0分0秒
相反我们可以毫秒转换成年月日,秒分时
86400000毫秒是多少秒 86400000/1000 = 86400
86400000毫秒是多少分钟 86400000/1000/60 = 1440
86400000毫秒是多少小时 86400000/1000/60/60 = 24
86400000毫秒是多少天 86400000/1000/60/60/24 = 1
...
后面的我就不计算了,毕竟这是数学的东西。
那么关于日期的官方函数有哪些呢?
首先我们先写一段代码
var d = new Date();来获取计算机系统的时间,并把它赋值给d变量
一、getFullYear();
功能:获取日期对象上的年份
参数:无
返回值:年份
语法:
console.log(d.getFullYear()); //年份:2020 ,四位的年份;
这段代码的意思是,把年份的显示出来
getMonth();
功能:获取日期对象上的月份(从0开始)
参数:无
返回值:月份
语法:
console.log(d.getMonth()+1); //月份:从0开始,即:0表示1月;1表示2月
这段代码的意思是,把月份的显示出来
getDate();
功能:获取日期对象上的日
参数:无
返回值:日
console.log(d.getDate());这段代码的意思是,把当天多少号显示出来
**
前面三个函数是日期的函数,准确的时间的函数如下
**
getHours() //返回小时数
语法:
console.log(d.getHours());这段代码的意思是显示小时数
getMinutes() //返回分钟数
语法:
console.log(d.getMinutes());这段代码的意思是显示分钟数
getSeconds() //返回秒数
语法:
console.log(d.getSeconds());这段代码的意思是显示秒数
getDay(): 返回的是星期
语法
console.log(d.getDay());这段代码的意思是显示星期几
日期和时间的函数还有很多,后面我会给大家一一列举,接下来我们来看个案例
编写函数,要求传入两个时间节点,能返回两个时间节点之间相差 `多少天多少小时多少分钟多少秒?
function fn(d1,d2){
var time1=new Date(d1)
var time2=new Date(d2)
// 得出它们相差多少秒
var num=Math.abs((parseInt(time1.getTime()-time2.getTime())/1000))
// 得出它们相差多少天,赋值给day
var day=parseInt(num/24/60/60)
// 接下来算小时,但我们知道一天时内肯定是24小时,所以我们可以看做24为一个进制,来取余就能算出小时
var hour=parseInt((num/60/60)%24)
// 接下来算分钟,但我们知道一个小时内肯定是60分钟,所以我们可以看做60为一个进制,来取余就能算出分钟
var Minute=parseInt((num/60)%60)
// 接下来算秒,但我们知道一分钟内肯定是60秒,所以我们可以看做60为一个进制,来取余就能算出秒
var second=parseInt(num%60)
// 输出
var str="两个时间点相差"+day+"天"+hour+"小时"+Minute+"分钟"+second+"秒"
return str
}
console.log(fn("1999-10-14 05:30:24","2020-3-19 22:26:30"))