форматирование jQuery объекта даты 'Дата 14 февраля 2019 |20:02' - PullRequest
0 голосов
/ 16 февраля 2019
var dt = new Date();
var mmddyyyy = dt.getMonth() + ":" +  dt.getDay() + ":" + dt.getYear();
var time = dt.getHours() + ":" + dt.getMinutes();

$('#elem').html(mmddyyyy  + time);

Я пробую вышеописанное, чтобы просто отформатировать '' Дата 14 февраля 2019 |20: 02 '

Но, к сожалению, это выводит как:

1: 5: 11916: 4

1 Ответ

0 голосов
/ 16 февраля 2019

Здесь есть несколько проблем.Во-первых, 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 .Он охватывает все методы, доступные для форматирования даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...