JS内置对象-Date用法
- 创建一个新Date对象的唯一方法是通过new 操作符,例如:let now = new Date();
- 若将它作为常规函数调用(即不加 new 操作符),将返回一个字符串,而非 Date 对象。
var date = new Date();
console.log(date); // 打印结果为:Thu Nov 26 2020 16:27:03 GMT+0800 (中国标准时间)
Date对象的一些基本方法:
getFullYear()
表示年份的整数值。
getMonth()
表示月份的整数值,从 0(1月)到 11(12月)。
getDate()
表示一个月中的第几天的整数值,从1开始。默认值为1。
getHours()
表示一天中的小时数的整数值 (24小时制)。默认值为0(午夜)。
getMinutes()
表示一个完整时间(如 01:10:00)中的分钟部分的整数值。默认值为0。
getSeconds()
表示一个完整时间(如 01:10:00)中的秒部分的整数值。默认值为0。
get.Milliseconds 可选
表示一个完整时间的毫秒部分的整数值。默认值为0。
getTime()
getTime() 返回从 1970 年 1 月 1 日至今的毫秒数。
toUTCString()
如何使用 toUTCString() 将当日的日期(根据 UTC)转换为字符串。
注意 月份的起始位置 是从“0”开始计算的,这就意味着一月份为“0”,十二月份为“11”。
注意:当Date作为构造函数调用并传入多个参数时,如果数值大于合理范围时(如月份为 13 或者分钟数为 70),相邻的数值会被调整。比如 new Date(2013, 13, 1)等于new Date(2014, 1, 1),它们都表示日期2014-02-01(注意月份是从0开始的)。其他数值也是类似,new Date(2013, 2, 1, 0, 70)等于new Date(2013, 2, 1, 1, 10),都表示同一个时间:2013-03-01T01:10:00。
注意:当Date作为构造函数调用并传入多个参数时,所定义参数代表的是当地时间。如果需要使用世界协调时 UTC,使用 new Date(Date.UTC(...)) 和相同参数。
案例一:
<script>
// 用Date对象封装一个显示当前日期的函数
function getTime() {
var date = new Date(); //创建了一个date对象
var year = date.getFullYear(); // 获取当前日期的年份
var month = date.getMonth() + 1; // 获取当前日期的月份
var day = date.getDate(); // 获取当前日期的号数
day = day < 10 ? '0' + day : day; // 如果号数小于10,则在号数前面加0
var hours = date.getHours(); // 获取当前日期的小时
hours = hours < 10 ? '0' + hours : hours;// 如果小时小于10,则在小时前面加0
var miuntes = date.getMinutes(); //获取当前日期的分钟数
miuntes = miuntes < 10 ? '0' + miuntes : miuntes;// 如果分钟小于10,则在分钟前面加0
var senconds = date.getSeconds(); //获取当前日期的秒数
senconds = senconds < 10 ? '0' + senconds : senconds;// 如果秒数小于10,则在秒数前面加0
time = year + '年' + month + '月' + day + '日 ' + hours + '时' + miuntes + '分' + senconds + '秒';
return time;
}
console.log(getTime());
</script>
时间戳:当前时间距离1970年1月1日过了多少毫秒数
获取时间戳的三种方式:
<script>
// 1. 通过 valueOf() getTime()
var date = new Date();
console.log(date.valueOf());
console.log(date.getTime());
// 2. 简单的写法
var date = +new Date();
console.log(date)
// H5新增的获取总的毫秒数,低版本浏览器不适用
console.log(Date.now());
</script>
案例二:
<script>
// 用Date对象封装一个计算剩余时间的函数
function countDown(time) {
var nowTime = +new Date(); // 返回当前时间戳
var inputTime = +new Date(time); // 返回用户输入时间的时间戳
var times = (inputTime - nowTime) / 1000; // 得到剩余时间的秒数
var d = parseInt(times / 60 / 60 / 24); // 得到剩余时间的天数
d = d < 10 ? '0' + d : d;
var h = parseInt(times / 60 / 60 % 24); // 得到剩余时间的小时数
h = h < 10 ? '0' + h : h;
var m = parseInt(times / 60 % 60); // 得到剩余时间的分钟数
m = m < 10 ? '0' + m : m;
var s = parseInt(times % 60); // 得到剩余时间的秒数
s = s < 10 ? '0' + s : s;
remainTime = '剩余时间:' + d + '天' + h + '小时' + m + '分钟' + s + '秒';
return remainTime;
}
console.log(countDown('2020-12-25 18:00:00'))
</script>