JavaScript/Jquery中获取当前日期的DD-Mon-YYY格式

58
我需要在JavaScript中获得日期格式为“DD-Mon-YYYY”。 我曾经询问过这个问题,但它被标记为jQuery日期格式化的重复问题。
但是,该问题提供的答案是以“DD-MM-YYYY”格式获取当前日期,而不是“DD-MON-YYYY”格式。 其次,我没有使用datepicker插件。
请问如何在“DD-Mon-YYYY”格式中获得当前日期。

目前被接受的答案过于复杂。我已经编辑了另一个答案,我认为它更好地回答了您的问题。你能看一下吗? - Dan Dascalescu
18个回答

1

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


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community
1
OP想要的是DD-Mon-YYYY,而你的答案是DD/MM/YYYY - Zsolt Meszaros

1
传递数据 changeFormate(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;
 }

1
这是一个简单的解决方案,使用TypeScript:

  convertDateStringToDate(dateStr) {
    //  Convert a string like '2020-10-04T00:00:00' into '4/Oct/2020'
    let months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    let date = new Date(dateStr);
    let str = date.getDate()
                + '/' + months[date.getMonth()]
                + '/' + date.getFullYear()
    return str;
  }

(是的,我知道这个问题是关于JavaScript的,但我相信我不会是唯一遇到这篇文章的Angular开发人员!)


(是的,我知道这个问题是关于JavaScript的,但我相信我不会是唯一遇到这篇文章的Angular开发人员!)

0

试试这个。

function dateFormat(D) {
  const monthNames = [
    'Jan',
    'Feb',
    'Mar',
    'Apr',
    'May',
    'Jun',
    'Jul',
    'Aug',
    'Sep',
    'Oct',
    'Nov',
    'Dec',
  ];

  const day = D.getDate();

  const monthIndex = D.getMonth();
  const monthName = monthNames[monthIndex];

  const year = D.getFullYear();

  return `${day}-${monthName}-${year}`;
}

// Write Javascript code!
const appDiv = document.getElementById('app');
appDiv.innerHTML = `<h1>JS ${dateFormat(new Date('2023-07-05'))}</h1>`;
<div id="app"></div>


0

const monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var currDate= new Date();
var newDate=currDate.toLocaleDateString();
var splitNewDate= newDate.split('/');
var formatDate= splitNewDate[1] + '-'+ monthNames[splitNewDate[0]] +'-'+ splitNewDate[2];

console.log(formatDate);

//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)

-2
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


-2

            var today = new Date();           

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


这个答案不符合OP的要求。所需格式是dd-Mon-yyyy,而不是dd-MM-yyyy。 - Ahmad

-7

使用日期格式dd-MM-yy。它将输出如下:16-December-2014。


1
这不是答案。请发布一个有效的适用答案。 - Ahmad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接