将我的var显示为HH:mm(javascript)
Display my var as HH:mm (javascript)
我正在编写代码,这将使我能够更轻松地记录工作时间。我可以获得超过定义时间的分钟来显示,但我似乎无法将输出的格式设置为HH:mm,这是我的代码;
<html>
<head>
<title>Time Past Since 08:30</title>
<meta http-equiv="Refresh" content="60">
<script language="JavaScript">
var sd = new Date(); // Get system date (sd)
var sh = sd.getHours(); // Get system hour (sh)
var sm = sd.getMinutes(); // Get system minutes (sm)
wh = (08); // Specify work start hour (wh)
wm =(30); // Specify work start minute (wh)
var vctime = ((sh *60 + sm) - (wh *60 + wm)); // Get differnece for system and work start, this needs to display in hh:mm but isn't
document.write(vctime); // output
</script>
</head>
<body>
</body>
</html>
既然结果是以分钟为单位的,为什么不使用除法将经过的分钟转换为小时,然后应用模数提取剩余的分钟呢?
hours_since = Math.floor(vctime/60);
minutes_since = Math.round((vctime/60 % 1) * 60); // Use num % 1 to extract the decimal and convert it to minutes.
console.log(hours_since + ":" + minutes_since);
如果你需要结果中的前导"0",只需写一个简单的条件来检查值是否小于10:
hours_zero_prefix = hours_since < 10 ? "0" : ""
minutes_zero_prefix = minutes_since < 10 ? "0" : ""
console.log(hours_zero_prefix + hours_since + ":" + minutes_zero_prefix + minutes_since);
我建议在Moment.js库中使用diff来处理此计算。图书馆将通过计算开始时间和结束时间之间的差异来解决夏令时问题。看起来你想要的是开始时间和现在之间的分钟差。要用瞬间做到这一点:
//returns number of minutes, accounting for DST based on the time zone of the local machine
var min = moment().diff(moment(yourStartDateTimeInIsoString), 'minutes');
//converts minutes to hours, then adds remaining minutes
return Math.floor(min/60) + ':' + min%60
相关文章:
- 如何在javascript中验证MM/YY的日期
- 用JavaScript将ISO时间转换为H:MM am|pm
- 用javascript将日期格式从d/m/yyyy转换为yyyy-mm-dd
- 在 JavaScript 中的个位数月份和日期之前添加零 (MM/DD/YYYY)
- 如何在JavaScript中以天、dd/mm/yyyy格式显示昨天的日期
- 使用Javascript将MySQL日期格式转换为DD/MM/YY日期格式
- 我需要用age Javascript验证dd/mm/yy格式(闰年)的dob
- 在模糊 javascript 上格式化为 hh:mm 输入
- JavaScript 将长日期格式转换为 mm/dd/yyy
- Javascript 正则表达式日期格式 dd/mm/yy
- Javascript Date 对象因格式而异:yyyy-mm-dd vs mm-dd-yyyy
- 在Javascript中用YYYY-mm-dd格式计算年龄
- 如何在JAVASCRIPT中使用格式HH:MM AM/PM将字符串转换为时间
- Javascript+HTML中的日期选择器准备好了吗?(需要:DD、MM、YY的单独字段加上日历选择器)
- 将我的var显示为HH:mm(javascript)
- Javascript日期(yyyy-mm-ddThh:mm:ss偏移量)未正确转换
- javascript/jQuery date.toString(“yyyy-MM-dd HH:MM:ss”)在服务器之间
- Javascript正在删除DateTime[YYYY/MM/DD/HH:MM:SS:MM]中的毫秒
- 用JavaScript将日期格式设置为MM/dd/yyyy
- 使用RegEx在javascript中重写格式错误的日期yyyy-MM-d到yyyy-MM-dd