Здесь есть несколько проблем.Во-первых, getMonth()
возвращает нулевой индекс месяца даты.Чтобы превратить это в короткую строку имени месяца, вы можете определить свой собственный массив, к которому вы можете обращаться по индексу на основе этого значения.
Затем вы используете getDay()
, который возвращает текущий деньнеделю.Я полагаю, вы хотите getDate()
вместо этого, который дает вам текущий день месяца.Затем вам потребуется getFullYear()
, чтобы получить четырехзначное значение года вместо getYear()
.
Наконец, со временем вам нужно будет дополнить ведущие нули часами и минутами перед их объединениемк окончательной выходной строке.
После всего сказанного попробуйте это:
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var dt = new Date();
var mmddyyyy = months[dt.getMonth()] + ' ' + dt.getDate() + ' ' + dt.getFullYear();
var time = ('00' + dt.getHours()).slice(-2) + ":" + ('00' + dt.getMinutes()).slice(-2);
$('#elem').html(mmddyyyy + ' | ' + time);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="elem"></div>
Если вам потребуются какие-либо дополнительные изменения, я бы предложил прочитать ссылку на объект Date () в MDN .Он охватывает все методы, доступные для форматирования даты.