javascript - 你如何在 JavaScript 中创建一个 12 小时的时间
问题描述
我想要一个计时器,它可以在 12 小时后执行某些操作。我想早上 6 点开始,下午 6 点结束。时间只需12小时。我想知道如何调整时间。我想做的是将我当前的 12 小时制转换为 24 小时制。
我正在寻找工作示例
代码示例在此 CodePen 链接 Timer Link中
(function () {
const second = 1000,
minute = second * 60,
hour = minute * 60,
day = hour * 24;
let birthday = "Nov 25, 2020 00:00:00",
countDown = new Date(birthday).getTime(),
x = setInterval(function() {
let now = new Date().getTime(),
distance = countDown - now;
document.getElementById("days").innerText = Math.floor(distance / (day)),
document.getElementById("hours").innerText = Math.floor((distance % (day)) / (hour)),
document.getElementById("minutes").innerText = Math.floor((distance % (hour)) / (minute)),
document.getElementById("seconds").innerText = Math.floor((distance % (minute)) / second);
//do something later when date is reached
if (distance < 0) {
let headline = document.getElementById("headline"),
countdown = document.getElementById("countdown"),
content = document.getElementById("content");
headline.innerText = "It's my birthday!";
countdown.style.display = "none";
content.style.display = "block";
clearInterval(x);
}
//seconds
}, 0)
}());
解决方案
这应该可以工作,它会在上午 8:00 时显示直到晚上 8:00 的时间。这是我用来测试它的笔Time Until。
var doIt = false;
var now = new Date();
var seconds;
var date1;
var eight = new Date();
eight.setHours(20, 0, 0);
var date2;
var toHHMMSS = (secs) => {
var sec_num = parseInt(secs, 10)
var hours = Math.floor(sec_num / 3600)
var minutes = Math.floor(sec_num / 60) % 60
var seconds = sec_num % 60
return [hours,minutes,seconds]
.map(v => v < 10 ? "0" + v : v)
.filter((v,i) => v !== "00" || i > 0)
.join(":")
}
function diff_seconds(dt2, dt1)
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
return Math.abs(Math.round(diff));
}
window.setInterval(function(){
date2 = new Date();
if(date2.getHours() >= 8) {
doIt = true;
}
}, 1);
window.setInterval(function(){
date2 = new Date();
if(date2.getHours() >= 20){
doIt = false;
}
}, 1);
window.setInterval(function(){
if(doIt === true){
seconds = diff_seconds(new Date(), eight);
document.querySelector("p").textContent = "It is from 8AM to 8PM";
document.querySelector("#hours").textContent = toHHMMSS(seconds);
}
}, 1000)
<p>It is not 8 AM yet</p>
<div id="hours"></div>
希望它有效!
推荐阅读
- c++ - 没有运算符“<<”匹配但“>>”有效
- python - 如何在 Python 中使用 Geopandas 更改 crs 投影?
- batch-file - 使用此 locker.bat 代码时文件存储在哪里?
- angular - 使用 Nginx 正确处理 Angular Auth0 回调
- xamarin.forms - Xaml 在位置上的行为不正确
- git - 如何使用 gitbash 将现有项目推送到 Github 存储库中的新子文件夹?
- node.js - Mongoose:Create() 不创建文档
- azure - 在机器学习工作室中使用 Web 服务输出
- swift - 即使参数为零,也需要 Swift 可选泛型类型
- android - 对象之上的 Android Studio xml 对象