我想,这是一些初学者问题,但我不知道要搜索什么。
我有一个时间表,应如下所示:
From | To | Pause | Hours
[08:00] [17:30] [01:00] 08:30
括号中的值(08:00、17:30、01:00)是输入字段,小时数应该是计算值。
这是我的表格:
<div ng-repeat="t in timesheetCurrentMonth">
From: <input type="text" ng-model="t.from"/> <!-- e.g. 08:00 -->
To: <input type="text" ng-model="t.to"/> <!-- e.g. 17:30 -->
Pause:<input type="text" ng-model="t.pause"/><!-- e.g. 01:00 -->
Working hours:<span>{{t.to-t.from-t.pause|hhmm}}</span> <!-- e.g. 08:30 -->
</div>
那么如何在文本字段中输入日期值(例如“08:30”)并计算总工作时间?
我正在考虑在模型中使用分钟值 (08:00 = 480) 进行计算,因为我会将这些数据作为分钟值保存在数据库中,这使得计算变得简单(从暂停开始)。那有意义吗?顺便说一句,我确实有一个过滤器,可以将分钟值转换为 HH:mm 格式。
谢谢, 伯恩哈德
PS:这是一个将分钟(如 480)转换为 HH:MM 字符串 (08:00) 的函数。
var convertToHourString = function(min, alwaysShowMinutes) {
var hours = Math.floor(min / 60);
var minutes = min % 60;
if (minutes === 0 && !alwaysShowMinutes)
return hours;
return hours + ":" + (minutes < 10 ? "0" + minutes : minutes);
};
最佳答案
momentJs提供您需要的所有日期/时间操作和转换。
关于javascript - AngularJS:带日期的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30356934/