Получить текущую дату в формате DD-Mon-YYY в JavaScript/JQuery

Мне нужно получить формат даты как "DD-Mon-YYYY" в javascript. Я спросил question, и он получил отмеченный дубликат для форматирования даты jQuery

Но ответы на этот вопрос состоят в том, чтобы получить текущую дату в формате "DD-MM-YYYY", а не "DD-MON-YYYY". Во-вторых, я не использую плагин datepicker.

Можете ли вы мне помочь, как бы получить текущую дату в формате "DD-Mon-YYYY".

Ответ 1

Там нет родного формата в javascript для DD-Mon-YYYY.

Вам придется собрать все это вместе вручную.

Ответ вдохновлен: Как форматировать дату JavaScript

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

Date.prototype.toShortFormat = function() {

    var month_names =["Jan","Feb","Mar",
                      "Apr","May","Jun",
                      "Jul","Aug","Sep",
                      "Oct","Nov","Dec"];
    
    var day = this.getDate();
    var month_index = this.getMonth();
    var year = this.getFullYear();
    
    return "" + day + "-" + month_names[month_index] + "-" + year;
}

// Now any Date object can be declared 
var today = new Date();


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

Ответ 2

Используйте библиотеку Moment.js http://momentjs.com/ Это сэкономит вам массу проблем.

moment().format('DD-MMM-YYYY');

Ответ 3

Вы можете использовать toLocaleDateString и искать формат, близкий к DD-mmm-YYYY (подсказка: 'en-GB'; вам просто нужно заменить пробелы на '-').

const date = new Date();
const formattedDate = date.toLocaleDateString('en-GB', {
  day: 'numeric', month: 'short', year: 'numeric'
}).replace(/ /g, '-');
console.log(formattedDate);

Ответ 4

Я создал специальную функцию формата строки даты, вы можете использовать ее.

var  getDateString = function(date, format) {
        var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        getPaddedComp = function(comp) {
            return ((parseInt(comp) < 10) ? ('0' + comp) : comp)
        },
        formattedDate = format,
        o = {
            "y+": date.getFullYear(), // year
            "M+": months[date.getMonth()], //month
            "d+": getPaddedComp(date.getDate()), //day
            "h+": getPaddedComp((date.getHours() > 12) ? date.getHours() % 12 : date.getHours()), //hour
             "H+": getPaddedComp(date.getHours()), //hour
            "m+": getPaddedComp(date.getMinutes()), //minute
            "s+": getPaddedComp(date.getSeconds()), //second
            "S+": getPaddedComp(date.getMilliseconds()), //millisecond,
            "b+": (date.getHours() >= 12) ? 'PM' : 'AM'
        };

        for (var k in o) {
            if (new RegExp("(" + k + ")").test(format)) {
                formattedDate = formattedDate.replace(RegExp.$1, o[k]);
            }
        }
        return formattedDate;
    };

А теперь предположим, что у вас есть: -

    var date = "2014-07-12 10:54:11";

Итак, чтобы отформатировать эту дату, вы пишете: -

var formattedDate = getDateString(new Date(date), "d-M-y")

Ответ 5

DD-MM-YYYY является одним из форматов. Формат плагина jquery основан на этом списке: http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

Протестирован следующий код в консоли хром:

test = new Date()
test.format('d-M-Y')
"15-Dec-2014"

Ответ 6

/*
  #No parameters
  returns a date with this format DD-MM-YYYY
*/
function now()
{
  var d = new Date();
  var month = d.getMonth()+1;
  var day = d.getDate();

  var output = (day<10 ? '0' : '') + day + "-" 
              + (month<10 ? '0' : '') + month + '-'
              + d.getFullYear();

  return output;
}

Ответ 7

const date = new Date();

date.toLocaleDateString('en-GB', { day: 'numeric', month: 'short', year: 'numeric' }))

Ответ 8

//convert DateTime result in jquery mvc 5 using entity fremwork 

const monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];


function DateAndTime(date) {

    var value = new Date
        (
        parseInt(date.replace(/(^.*\()|([+-].*$)/g, ''))
    ); 
    var dat = value.getDate() +
        "-" +
        monthNames[value.getMonth()] +
        "-" +
        value.getFullYear();

    var hours = value.getHours();
    var minutes = value.getMinutes();
    var ampm = hours >= 12 ? 'PM' : 'AM';
    hours = hours % 12;
    hours = hours ? hours : 12; // the hour '0' should be '12'
    minutes = minutes < 10 ? '0' + minutes : minutes;
    var strTime = hours + ':' + minutes + ' ' + ampm;
    return { Date: dat, Time: strTime };
}
// var getdate = DateAndTime(StartDate);
//var Date = getdate.Date;//here get date
//var time = getdate.Time;//here get Time
//alert(Date)

Ответ 9

Пропустить изменение данныхФормат (15/07/2020)

  changeFormate(date) {
let month_names = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
let incomingDateChnge: any = new Date(date);
let incomingDay = incomingDateChnge.getDate();
let incomingMonth = incomingDateChnge.getMonth();

let incomingYear = incomingDateChnge.getFullYear();
if (incomingDay < 10) {
  incomingDay = '0' + incomingDay;
}

incomingDateChnge = incomingDay + ' ' + month_names[incomingMonth] + ' ' + incomingYear;
return incomingDateChnge;
 }

Ответ 10

var date = new Date();

console.log(date.toJSON().slice(0,10).replace(new RegExp("-", 'g'),"/" ).split("/").reverse().join("/")+" "+date.toJSON().slice(11,19));

//вывод: 01/09/2016 18:30:00

Ответ 11

            var today = new Date();           

            var formattedtoday = today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear();
            
            alert(formattedtoday);

Ответ 12

Использовать формат даты dd-MM-yy. Он будет выводиться следующим образом: 16 декабря 2014 года.