T_Sub Ответов: 2

Найдите продолжительность периода времени с помощью javascript.


мне нужно вычесть значение datetimepicker из текущей даты отдельно.

дата начала-это мой идентификатор выбора.

Что я уже пробовал:

function getdate() {
        

        var tt = document.getElementById('Startdate').val();
        alert(tt);

        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth() + 1;
        var yyyy = today.getFullYear();
        tod = mm + '/' + dd + '/' + yyyy;
      
        
      
    }

		    
                    

2 Ответов

Рейтинг:
2

Nathan Minier

Таким образом, объект JS Date-это в основном просто количество миллисекунд из эпохи Unix. Вы можете получить это непосредственно с помощью dateObject.getTime ().

Таким образом, для вычитания даты datepicker из текущей даты:

var tt = document.getElementById('Startdate').val();
var diff = Date.now() - new Date(tt).getTime();
var seconds = diff/1000;
var minutes = diff/60000;
var hours = diff/3600000;
var days = diff/86400000;


MDN-это хороший ресурс для документации JavaScript:
Дата-JavaScript | MDN[^]


T_Sub

спасибо, но есть ошибка, tt. getTime - это не функция

Nathan Minier

Все в порядке, обновлено. Я вроде как предположил, что вы или ваш фреймворк уже преобразовали переменную tt из datepicker. Моя вина.

Afzaal Ahmad Zeeshan

5ед.

Рейтинг:
0

T_Sub

Привет Всем, спасибо за вашу помощь, я решил эту проблему. [Получить продолжительность в днях, расчеты между текущей датой и датой, которую вы выбрали]

<script type="text/javascript">
    $(document).ready(function () {
      

        $("#enddate").datepicker({
            changeMonth: true,
            changeYear: true,
            firstDay: 1,
            dateFormat: 'dd/mm/yy',
        }).datepicker("setDate", "0");

        $("#Startdate").datepicker({
            changeMonth: true,
            changeYear: true,
            firstDay: 1,
            dateFormat: 'dd/mm/yy',
        })

        $("#Startdate").datepicker({ dateFormat: 'dd-mm-yy' });
        $("#enddate").datepicker({ dateFormat: 'dd-mm-yy' });

        $('#notificationstatus').on('change', function () {

            if ($(this).val() == 10) {
                var start = $('#Startdate').datepicker('getDate');
                var end = $('#enddate').datepicker('getDate');

                if (start < end) {
                    var days = (end - start) / 1000 / 60 / 60 / 24;
                    $('#days').text(days);
                }
                else {
                    $('#days').text("Time Mismatched !");
                }
            }
            else if ($(this).val() == 20) {
                var start = $('#Startdate').datepicker('getDate');
                var end = $('#enddate').datepicker('getDate');

                if (start < end) {
                    var days = (end - start) / 1000 / 60 / 60 / 24;
                    $('#days').text(days);
                }
                else {
                    $('#days').text("Time Mismatched !");
                }

            }
        });
    });



Спасибо!!!