我该如何将checkTime和checkMinute函数合并,以便在进行(m + 30)的偏移时,当m达到60时,h也会进入下一个小时。谢谢!
目前,我的代码可以告诉时间,并且可以在24小时制上接受小时偏移,但我的问题是它不允许我在+30分钟的偏移中更改代码,而我想要这种能力。
我的if语句没有给我想要的结果,即当分钟数达到60时,从+30的偏移开始,小时将进入下一个小时,而不仅仅影响分钟数。
我认为我需要将这两个函数结合起来,但不确定如何准确地做到这一点。
目前,我的代码可以告诉时间,并且可以在24小时制上接受小时偏移,但我的问题是它不允许我在+30分钟的偏移中更改代码,而我想要这种能力。
我的if语句没有给我想要的结果,即当分钟数达到60时,从+30的偏移开始,小时将进入下一个小时,而不仅仅影响分钟数。
我认为我需要将这两个函数结合起来,但不确定如何准确地做到这一点。
function addLeadingZero(n) {
return n < 10 ? '0' + n : n;
}
function timeClock(timeZoneOffset) {
var d = new Date();
d.setHours(d.getUTCHours() + timeZoneOffset); // set time zone offset
var h = d.getUTCHours();
var m = d.getUTCMinutes();
var s = d.getUTCSeconds();
/* h = h % 12;
h = h ? h : 12; // replace '0' w/ '12' */
/* h = checkHour(h) */
m = checkTime(m);
s = checkTime(s);
h = addLeadingZero(h);
document.all["txt3"].innerHTML = /*+ checkHour*/ (h - 4) + ':' + m + ':' + s + ' ';
document.all["txt1"].innerHTML = /*+ checkHour*/ (h + 3) + ':' + m + '' + ' ';
document.all["txt2"].innerHTML = h + ':' + checkMinute(m + 30) + '' + ' ';
document.all["txt4"].innerHTML = h + ':' + m + '' + ' ';
document.all["txt5"].innerHTML = h + ':' + m + '' + ' ';
setTimeout(function() {
timeClock(timeZoneOffset)
}, 500);
}
function checkTime(i) {
var j = i;
if (i < 10) {
j = "0" + i;
}
return j;
}
function checkHour(i) {
var j = i;
if (i > 23) {
j = j - 24;
}
if (i < 0) {
j = "0" + i;
}
return j;
}
function checkMinute(i) {
var j = i;
if (i > 59) {
j = j - 60;
}
if (i < 0) {
j = "0" + i;
}
return j;
}
/* setInterval(function() {
startTime();
}, 500);
})(jQuery); */
window.onload = function() {
timeClock(2);
}
<div id="txt3"></div>
<div id="txt1"></div>
<div id="txt2"></div>
<div id="txt4"></div>
<div id="txt5"></div>
const pad = (num) => ("0" + num).slice(-2);
,我写的是用来替换你的 addLeadingZero ;) - mplungjan