0

2 つの radtimepicker があり、そのうちの 2 つを計算して合計時間を生成する JavaScript を作成したいと考えています。私のシナリオは、ユーザーが選択した2時間の合計分数を計算したいということです:

例:

radtimepicker1: 09:00 AM
radtimepicker2: 10:15 AM

Total minutes: 75

これは私のコードですが、運はありません:

  function CalculateTotalMinutes(sender, eventArgs) {


        var timeFrom= $find("<%= timepickerFrom.ClientID %>");
        var varFrom= timeFrom.get_timeView();

        var timeTo= $find("<%= timepickerTo.ClientID %>");
        var varTo = timeTo.get_timeView();

        var txtNumDays = $find("<%= txtDuration.ClientID%>");

        if (varFrom <= varTo ) {


            var varSeconds = Math.ceil((varTo.getTime() - varFrom.getTime()) / 1000);
            var varMinutes = varSeconds / 60;
            txtNumDays.set_value(varMinutes);
        }
        else {

        }

    }

助けてください...よろしくお願いします...

4

2 に答える 2

0

以下のコード スニペットを試してみてください。

JS

<script type="text/javascript">
        function DateSelected(sender, args) {
            var timeFrom = $find("<%= RadTimePicker1.ClientID %>");
            var varFrom = timeFrom.get_selectedDate();

            var timeTo = $find("<%= RadTimePicker2.ClientID %>");
            var varTo = timeTo.get_selectedDate();

            if (varFrom != null && varTo != null) {
                alert(daysBetween(varFrom, varTo));
            }
        }

        function daysBetween(date1, date2) {
            //Get 1 day in milliseconds
            var one_day = 1000 * 60 * 60 * 24;

            // Convert both dates to milliseconds
            var date1_ms = date1.getTime();
            var date2_ms = date2.getTime();

            // Calculate the difference in milliseconds
            var difference_ms = date2_ms - date1_ms;
            //take out milliseconds
            difference_ms = difference_ms / 1000;
            var seconds = Math.floor(difference_ms % 60);
            difference_ms = difference_ms / 60;
            var minutes = Math.floor(difference_ms % 60);
            difference_ms = difference_ms / 60;
            var hours = Math.floor(difference_ms % 24);
            var days = Math.floor(difference_ms / 24);

            return days + ' days, ' + hours + ' hours, ' + minutes + ' minutes, and ' + seconds + ' seconds';
        }

    </script>

ASPX

<telerik:RadTimePicker ID="RadTimePicker1" runat="server">
        <ClientEvents OnDateSelected="DateSelected" />
</telerik:RadTimePicker>
<telerik:RadTimePicker ID="RadTimePicker2" runat="server">
        <ClientEvents OnDateSelected="DateSelected" />
</telerik:RadTimePicker>
于 2013-09-23T05:32:52.193 に答える