我需要在 javascript 中获取日期格式为“DD-Mon-YYYY”。我问了一个问题,它被标记为与jQuery 日期格式重复
但是,问题中提供的答案是以“DD-MM-YYYY”格式而不是“DD-MON-YYYY”格式获取当前日期。其次,我没有使用 datepicker 插件。
你能帮我看看如何以“DD-Mon-YYYY”格式获取当前日期。
我需要在 javascript 中获取日期格式为“DD-Mon-YYYY”。我问了一个问题,它被标记为与jQuery 日期格式重复
但是,问题中提供的答案是以“DD-MM-YYYY”格式而不是“DD-MON-YYYY”格式获取当前日期。其次,我没有使用 datepicker 插件。
你能帮我看看如何以“DD-Mon-YYYY”格式获取当前日期。
javascript 中没有用于DD-Mon-YYYY
.
您将不得不手动将它们放在一起。
答案的灵感来自: How to format a JavaScript date
// Attaching a new function toShortFormat() to any instance of Date() class
Date.prototype.toShortFormat = function() {
let monthNames =["Jan","Feb","Mar","Apr",
"May","Jun","Jul","Aug",
"Sep", "Oct","Nov","Dec"];
let day = this.getDate();
let monthIndex = this.getMonth();
let monthName = monthNames[monthIndex];
let 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
您可以使用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);
使用 Moment.js 库http://momentjs.com/它将为您省去很多麻烦。
moment().format('DD-MMM-YYYY');
可以用 toLocaleDateString
<script>
const date = new Date();
const formattedDate = date.toLocaleDateString('en-GB', {
day: '2-digit', month: 'short', year: 'numeric'
}).replace(/ /g, '-');
document.write(formattedDate);
</script>
我已经创建了一个自定义日期字符串格式函数,您可以使用它。
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")