จัดรูปแบบวันที่ของ bootstrap datepicker

ฉันใช้ bootstrap datepicker บนแบบฟอร์มด้วย ajax เพื่ออัปเดตขีดจำกัดวันที่ใน datepicker

ฉันกด ajax เพื่อรับจำนวนวันทั้งหมดและ setEndDate ของ datepicker เพื่อจำกัดวันที่บน (วันที่ภายหลังทั้งหมดจะถูกปิดใช้งาน)

$.ajax({
    url: url,
    type: 'POST',
    dataType: 'json',
    success: function (data) {
        if('total' in data && data['total'] > 1) {

            // datepicker successfully set the limit to next 'total' days
            $datepicker.datepicker('setEndDate', '+'+data['total']+'d');

            // how to set the field value with that end date?
            $datepicker.val($datepicker.datepicker('getEndDate'));
        }
    },
    error: function (e) {
        console.log(e);
    }
});

คำถามของฉันคือจะจัดรูปแบบ $datepicker.datepicker('getEndDate') เป็น yyyy-mm-dd ได้อย่างไร ขณะนี้มันส่งคืน Fri Jul 27 2018 08:00:00 GMT+0800 (Singapore Standard Time)

ฉันได้ตรวจสอบเอกสารประกอบ [1] แล้ว แต่ไม่มีพารามิเตอร์ที่จะกำหนดในการจัดรูปแบบ getEndDate

ชื่นชมความช่วยเหลือใด ๆ ขอบคุณ.

แก้ไข:

สำหรับใครก็ตามที่มีปัญหากับฉัน ขณะนี้วิธีแก้ปัญหาของฉันกำลังแยกวิเคราะห์การส่งคืนของ $datepicker.datepicker('getEndDate') ด้วยตนเอง

ฉันเห็นเอาต์พุตเท่ากับ Date .toString() ดังนั้นฉันจึงส่งเอาต์พุตเป็นตัวสร้างวันที่ของ JavaScript จากนั้นจึงจัดรูปแบบด้วยตนเอง

var d = new Date($datepicker.datepicker('getEndDate'));
if(d instanceof Date && !isNaN(d)) {
    var day = '' + d.getDate(),
        month = '' + (d.getMonth() + 1),
        year = d.getFullYear();
    if (month.length < 2) month = '0' + month;
    if (day.length < 2) day = '0' + day;

    // console.log([year, month, day].join('-'));
    $datepicker.datepicker('update', [year, month, day].join('-'));
}

[1]http://bootstrap-datepicker.readthedocs.io/en/latest/methods.html


person oon arfiandwi    schedule 20.07.2018    source แหล่งที่มา


คำตอบ (1)


คุณสามารถใช้ $("#date").data("datepicker").getFormattedDate() ได้ แต่จะให้รูปแบบของวันที่ที่เลือก

ดังนั้นคุณต้องใช้ getEndDate() ของ datepicker เพื่อรับวันที่สิ้นสุด และใช้วัตถุ DPGlobal เพื่อแยกวิเคราะห์วันที่

$("#date").datepicker({
    format:"dd/mm/yyyy",
    endDate:"26/07/2018"
});

function getDate()
{
   var date = $.fn.datepicker.DPGlobal.formatDate($("#date").data("datepicker").getEndDate(),"dd-mm-yyyy","en")
   console.log(date)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.0/css/datepicker.css"/>

<input id="date">
<button onclick="getDate()">Get Date</button>

person Vignesh Raja    schedule 22.07.2018
comment
จะหาเอกสารเกี่ยวกับ DPGlobal ได้ที่ไหน ฉันเห็นใน bootstrap datepicker github แต่ไม่พบในเว็บไซต์เอกสารของพวกเขา มันเป็นเครื่องมืออย่างเป็นทางการหรือไม่ (ฉันหมายถึงจะไม่เลิกใช้งานในเร็ว ๆ นี้) - person oon arfiandwi; 22.07.2018
comment
ฉันคิดว่ามันจะไม่เลิกใช้ ฉันตรวจสอบแหล่งที่มาของพวกเขาแล้ว “getFormattedDate” ใช้เป็นการภายใน - person Vignesh Raja; 22.07.2018