Вычислите время между начальной датой и конечной датой и автоматическое приращение, как таймер
Я пытаюсь показать время автоматического приращения между начальной датой и конечной датой. И он прекрасно работает только для одного и того же дня, когда начинается Дата-Время и заканчивается дата-время. Если начальная и конечная дата-время отличаются, то это работает неправильно. Для этого я попробовал ниже код.
Что я уже пробовал:
код JavaScript
<script type="text/javascript"> function toSeconds(time_str) { var parts = time_str.split(':'); return parts[0] * 3600 + parts[1] * 60 + + parts[2]; } function StartTimer(startTimeP, endTimeP) { var difference = Math.abs(toSeconds(startTimeP) - toSeconds(endTimeP)); //console.log(difference); var result = [ Math.floor(difference / 3600), Math.floor((difference % 3600) / 60), difference % 60 ]; var x = setInterval(function () { result[2] = result[2] + 1; if (result[2] >= 60) { result[2] = 0; result[1] = result[1] + 1; } if (result[1] >= 60) { result[1] = 0; result[0] = result[0] + 1 } result[0] = result[0] === 24 ? 0 : result[0] var temp = result.map(function (v) { var tempResult = v < 10 ? '0' + v : v; return tempResult; }).join(':'); //console.log(temp); $(".worked_time").text(temp); }, 1000); } function Say() { //document.getElementById('AncClick').click(); $("#AncClick").click(); } </script>
И метка в файле Default.aspx
<asp:Label ID="lblTrackWorkedHours" runat="server" CssClass="worked_time" ToolTip="Worked Hours"></asp:Label>
Умолчанию.aspx-файл.в CS
ScriptManager.RegisterStartupScript(Page, GetType(), "myscript", "StartTimer('11:34:25 PM','15:55:38 PM');", true);
Здесь 11:34:25 вечера является 27-02-2019 11:34:25 вечера и 15:55:38 вечера является 28-02-2019 15:55:38 вечера Так что если я вычислю результат, то он должен быть 16 часов +- но это же видно 7-часовой- Это неверный расчет.
Поэтому предложите нам правильно отображать с инкрементом средства, после чего он должен быть инкрементным авто, как таймер.