返回
用new Date()转换日期,倒计时也不在话下
前端
2023-10-31 17:13:55
常用方法
将字符串形式的日期转换为日期对象
我们可以使用以下语法将字符串形式的日期转换为日期对象:
new Date(dateString)
例如,要将 "2023-03-08" 转换为日期对象,我们可以使用以下代码:
const dateString = "2023-03-08";
const dateObject = new Date(dateString);
将日期对象转换为字符串形式日期
要将日期对象转换为字符串形式的日期,可以使用以下语法:
dateObject.toDateString()
例如,要将以下日期对象转换为字符串形式的日期:
const dateObject = new Date("2023-03-08");
可以使用以下代码:
const dateString = dateObject.toDateString(); // "Wed Mar 08 2023"
时间戳转为字符串日期格式
const timestamp = 1678579200000;
const date = new Date(timestamp);
const dateString = date.toLocaleDateString('zh-Hans-CN');
console.log(dateString); // "2023年3月8日"
倒计时小组件
现在,让我们基于上述方法,来实现一个倒计时小组件。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>倒计时</h1>
<div id="countdown"></div>
<script>
// 目标日期
const targetDate = new Date("2023-03-08 12:00:00");
// 更新倒计时
function updateCountdown() {
// 计算剩余时间
const now = new Date();
const timeLeft = targetDate - now;
// 格式化剩余时间
const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));
const hours = Math.floor((timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((timeLeft % (1000 * 60)) / 1000);
// 更新倒计时显示
document.getElementById("countdown").innerHTML = `${days}天 ${hours}小时 ${minutes}分钟 ${seconds}秒`;
}
// 每秒更新一次倒计时
setInterval(updateCountdown, 1000);
</script>
</body>
</html>
这个小组件将每秒更新一次倒计时,直到目标日期到来。
外部调用
这个小组件可以通过以下代码在外部调用:
<script src="countdown.js"></script>
<div id="countdown"></div>
在上面的代码中,countdown.js 是小组件的 JavaScript 文件。
结语
以上就是 new Date() 方法在日期转换中的应用,以及如何利用这些知识实现一个倒计时小组件。希望这篇文章对您有所帮助!