Я думаю, это вопрос начального, но я не знаю, что искать.AngularJS: поле ввода с датой
У меня есть табель, который должен выглядеть следующим образом:
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>
Так как я могу ввести значение даты в TextFields как '08: 30' и рассчитать общее количество рабочих часов?
Я думал о вычислении с минимальными значениями (08:00 = 480) в модели, потому что я сохраню эти данные в виде минутных значений в базе данных и сделает вычисления простыми (от-до-паузы). Имеет ли это смысл? BTW, у меня есть фильтр, который преобразует минутные значения в формат 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);
};
Это не дает понять, как решить проблему OPs и, святая мать, я надеюсь, что в нее не включена вся библиотека дат, чтобы делать просто арифметику. – rgthree
Спасибо за ваш комментарий. rgthree здесь, речь идет не о временах конвертирования, так как у меня уже есть операции времени (размещены в PS). Я просто ищу метод Angular для выполнения своих операций, то есть я обновляю значение «from», и «часы работы» вычисляются сразу же. – Bernie