Get Current Date in DD-Mon-YYYY Format in JavaScript/JQuery

datedatetimejavascriptjquery

I need to get the date format as 'DD-Mon-YYYY' in javascript.
I had asked a question, and it got marked duplicate to jQuery date formatting

But, the answers provided in the question are to get the current date in "DD-MM-YYYY" format and not "DD-MON-YYYY".
Secondly, I am not using datepicker plugin.

Can you please help me as if how to get the current date in "DD-Mon-YYYY" format.

Best Answer

There is no native format in javascript for DD-Mon-YYYY.

You will have to put it all together manually.

The answer is inspired from : How do I format a date in JavaScript?

// Attaching a new function  toShortFormat()  to any instance of Date() class

Date.prototype.toShortFormat = function() {

    const monthNames = ["Jan", "Feb", "Mar", "Apr",
                        "May", "Jun", "Jul", "Aug",
                        "Sep", "Oct", "Nov", "Dec"];
    
    const day = this.getDate();
    
    const monthIndex = this.getMonth();
    const monthName = monthNames[monthIndex];
    
    const year = this.getFullYear();
    
    return `${day}-${monthName}-${year}`;  
}

// Now any Date object can be declared 
let anyDate = new Date(1528578000000);

// and it can represent itself in the custom format defined above.
console.log(anyDate.toShortFormat());    // 10-Jun-2018

let today = new Date();
console.log(today.toShortFormat());     // today's date