var date = "2012-01-18T16:03";
var date = new Date(date);
console.log(date.getMinutes());
console.log(date.getMinutes().length)
Это возвращает 3.
- Как заставить его вернуть '03'?
- Почему
.length
возврат не определен?
Я попробовал это, но это не сработало:
Если strlen == 1
тогдаnum = ('0' + num);
javascript
Марк Фонди
источник
источник
.getMinutes()
является целым числом, вы не можете получить доступ.length
к целому числу. Для этого (не рекомендуется при работе с датами) выполняется анализ числа до строки, а затем проверка длины. Например:date.getMinutes().toString().length
Ответы:
источник
<10?'0':''
значит?Похоже, эти ответы не очень хорошие, даже верхний пост был добавлен. Здесь вы, кросс-браузер и чистое преобразование int / string. Кроме того, мой совет: не используйте имя переменной date с кодом, например,
date = Date(...)
когда вы в большой степени полагаетесь на чувствительность к регистру языков (это работает, но рискованно, когда вы работаете с кодом сервера / браузера на разных языках с разными правилами) , Итак, предположим, что JavaScript в Datecurrent_date
:Техника состоит в том, чтобы взять 2 правых символа
(slice(-2))
«0», добавленных к строковому значениюgetMinutes()
. Так:и
источник
Другой короткий способ - заполнить минуты начальным нулем, используя:
Значение: сделать строку длиной в два символа, если символ отсутствует, установить
0
в эту позицию.Смотрите документы на str.padStart (targetLength, padString)
источник
Элегантная функция ES6 для форматирования даты в
hh:mm:ss
:источник
Если можно, я хотел бы предложить более изящное решение проблемы. Принятый ответ очень хорош. Но я бы сделал это так.
Теперь, если вы хотите использовать это.
источник
Я предлагаю:
это на один вызов функции меньше. Всегда хорошо думать о производительности. Это тоже коротко;
источник
вы должны проверить, меньше ли оно 10 ... не ища его длину, потому что это число, а не строка
источник
Другой вариант:
источник
substr
. w3schools.com/jsref/jsref_substr.aspИспользование ECMAScript Internationalization API, дополнительная информация :
источник
.length
не определено, посколькуgetMinutes
возвращает число, а не строку. номера не имеютlength
свойства. Ты мог бы сделатьvar m = "" + date.getMinutes();
чтобы сделать его строкой, затем проверьте длину (вы хотите проверить
length === 1
, а не 0).источник
Числа не имеют длины, но вы можете легко преобразовать число в строку, проверить длину и затем добавить 0, если это необходимо:
источник
Я не вижу здесь ответов ES6, поэтому я добавлю один, используя форматирование StandardJS
источник
Я предполагаю, что вам понадобится значение в виде строки. Вы можете использовать приведенный ниже код. Он всегда будет возвращать, давая вам две цифры минут в виде строки.
Надеюсь это поможет.
источник
Обычно я использую этот фрагмент кода:
Он очень похож на принятый ответ @ogur, но не объединяет пустую строку в случае, если 0 не нужен. Не уверен, что это лучше. Просто другой способ сделать это!
источник
Вы можете использовать момент JS:
пример :
moment('2019-10-29T21:08').format('mm') ==> 08
надеюсь, это поможет кому-то
источник
новичок в JS, так что это было очень полезно для большинства людей, которые смотрят на этот пробник, тоже новый, так вот как я получил его, чтобы показать в div под названием "class =" min "
надеюсь, это поможет кому-то
источник
как насчет этого? меня устраивает! :)
источник
Другой вариант, чтобы получить две цифры минут или часов.
источник
Для двухзначных минут используйте:
new Date().toLocaleFormat("%M")
источник
Если вы используете AngularJS в своем проекте, просто введите $ filter и используйте его как здесь:
Вы также можете отформатировать вывод в шаблоне, подробнее о фильтрах здесь .
источник