it-roy-ru.com

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

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

Но, ответы, представленные в вопросе, должны получить текущую дату в формате «ДД-ММ-ГГГГ», а не «ДД-МОН-ГГГГ» . Во-вторых, я не использую плагин DatePicker.

Подскажите, пожалуйста, как узнать текущую дату в формате "ДД-Пн-ГГГГ".

23
Tushar

В 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

47
Ahmad

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

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

Вы можете использовать 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);

7
Jerome Anthony

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

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")
2
Indra

дД-ММ-ГГГГ это только один из форматов. Формат плагина jquery основан на этом списке: http://docs.Oracle.com/javase/7/docs/api/Java/text/SimpleDateFormat.html

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

test = new Date()
test.format('d-M-Y')
"15-Dec-2014"
1
Vince V.
const date = new Date();

date.toLocaleDateString('en-GB', { day: 'numeric', month: 'short', year: 'numeric' }))
0
Sakshi Nagpal
/*
  #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;
}
0
gtzinos