Получить дату Javascript в формате 2011-04-01
Я видел это: как получить форматированное время даты, как 2009-05-29 21:55:57, используя JavaScript?
но мне нужны 0 перед датой из одной цифры (мне нужно 2011-04-01, а не 2011-4-1)
Я не люблю добавлять другой ненужный плагин для этого, так что если есть встроенная функция или функция SIMPLE в js/jquery, которая могла бы сделать это, я в порядке. Я надеюсь, что это не приведет к функции из 10 строк, просто чтобы проверить, был ли месяц единичным, а затем добавить ноль к нему.
В основном я использую плагин AnyTime js ( http://www.ama3.com/anytime/), но он выдает ошибку, если моя начальная дата не была в форме "гггг-мм-дд". Моим начальным значением по умолчанию является "сейчас", поэтому я пытаюсь преобразовать новый Date() в этот формат. Любая помощь?
ПРИМЕЧАНИЕ, пожалуйста, не давайте ссылки на плагины, так как я надеялся на ДЕЙСТВИТЕЛЬНО простое решение. я считаю, что использование плагина просто для исправления плагина не очень чисто.
6 ответов
function getFormattedDate() {
var date = new Date();
var str = date.getFullYear() + "-" + getFormattedPartTime(date.getMonth()) + "-" + getFormattedPartTime(date.getDate()) + " " + getFormattedPartTime(date.getHours()) + ":" + getFormattedPartTime(date.getMinutes()) + ":" + getFormattedPartTime(date.getSeconds());
return str;
}
function getFormattedPartTime(partTime){
if (partTime<10)
return "0"+partTime;
return partTime;
}
Усилия vvk в значительной степени на деньги, вот небольшая модификация того же самого:
var getDate = (function() {
function addZ(n) {
return n<10? '0'+n : ''+n;
}
return function() {
var d = new Date();
return d.getFullYear()+'-'+addZ(d.getMonth()+1)+'-'+addZ(d.getDate());
}
}());
Библиотека Any+Time(TM) включает объект с именем AnyTime.Converter специально для разбора и форматирования дат, поэтому вы могли бы сделать это:
(new AnyTime.Converter({format:"%Y-%M-%d"})).format(new Date());
Однако библиотека также по умолчанию использует текущую дату / время, если поле пустое или не соответствует спецификатору формата, так что вы действительно можете просто оставить поле пустым при отображении формы!
Если у кого-то возникают дополнительные проблемы или вопросы, вы можете связаться со мной напрямую по ссылкам на моем веб-сайте.
Этот красивый код охватывает все типы форматов
использовать этот синтаксис
var now = new Date();
now.format("mm/dd/yyyy");