下面为您详细讲解 "js Date概念详细介绍" 的攻略。
什么是js中的Date
在 JavaScript 中,Date
构造函数用于创建表示时间和日期的对象。js中的Date对象被广泛地应用在各种场景下,尤其是和时间相关的应用(例如网站上的日期、时间格式化显示)。
Date对象表示时间的方式的基础是自纪元(Unix 纪元,即 1970 年 1 月 1 日 00:00:00 UTC)起的毫秒数。
如何创建一个Date对象
创建 Date 对象有以下几种方法:
new Date()
当调用 Date 构造函数时,如果不传递参数,它的默认值是获取当前日期时间。例如:
let nowDate = new Date();
console.log(nowDate); //将会输出当前时间
new Date(value)
当我们传入值时,可以传入一个时间表示毫秒数(自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数)的数值。例如:
let nowTime = new Date(1631246368000);
console.log(nowTime); //将会输出 2021-09-10T02:12:48.000Z
new Date(dateString)
这个构造函数可以接受一个日期字符串。例如:
let nowTime = new Date('2021-09-10T02:12:48.000Z');
console.log(nowTime); //将会输出 2021-09-10T02:12:48.000Z
new Date(year, month, day, hours, minutes, seconds, milliseconds)
这个构造函数通过传入年、月、日、时、分、秒、毫秒的值来创建一个新的 Date
对象。例如:
let myDate = new Date(2021, 8, 10, 2, 12, 48, 0);
console.log(myDate); //将会输出 2021-09-10T02:12:48.000Z
Date对象有哪些属性和方法
Date对象有许多可用的属性和方法,包括获取年、月、日、小时、分钟、秒、毫秒等时间信息的方法,以及获取时间戳的方法。
下面列举几个常见的操作:
获取年、月、日、小时、分钟、秒、毫秒
let nowDate = new Date();
let year = nowDate.getFullYear(); //获取年份
let month = nowDate.getMonth(); //获取月份(0-11)
let day = nowDate.getDate(); //获取日期
let hours = nowDate.getHours(); //获取小时
let minutes = nowDate.getMinutes(); //获取分钟
let seconds = nowDate.getSeconds(); //获取秒数
let milliseconds = nowDate.getMilliseconds(); //获取毫秒数
获取和设置时间戳
let nowDate = new Date();
let timestamp = nowDate.getTime(); //获取时间戳
let newDate = new Date(timestamp); //通过时间戳创建新日期对象
计算两个日期之间的相差天数
let date1 = new Date("2021-09-01");
let date2 = new Date("2021-09-10");
let timeDiff = date2.getTime() - date1.getTime();
let dayDiff = timeDiff / (1000 * 3600 * 24); //获取两个日期之间的天数
示例说明
示例一:计算距离指定日期还有多少天
function getDaysBetween(dateStr) {
let currentDate = new Date();
let targetDate = new Date(dateStr);
let timeDiff = targetDate.getTime() - currentDate.getTime();
return Math.ceil(timeDiff / (1000 * 3600 * 24));
}
let days = getDaysBetween("2021-12-31");
console.log(`距离2021年年底还有${days}天`);
上面的代码通过输入未来的日期,来计算距离该日期还有多少天。
示例二:日期格式化
function formatDate(date) {
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
return `${year}:${month}:${day} ${hours}:${minutes}:${seconds}`;
}
let nowDate = new Date();
let formattedDate = formatDate(nowDate);
console.log(`当前时间:${formattedDate}`);
上述代码通过 formatDate() 方法将 UTC 时间格式化为本地时间,输出当前时间以及本地时间格式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js Date概念详细介绍 - Python技术站