получить дату Javascript в формате 2011-04-01 - PullRequest
1 голос
/ 01 апреля 2011

Я видел это: как получить форматированное время, например 2009-05-29 21:55:57, используя javascript?

но мне нужны 0 перед датой из одной цифры (мне нужно 2011-04-01, а не 2011-4-1)

Мне не нравится добавлять еще один ненужный плагин для этого, так что если в js / jquery есть встроенная функция или функция SIMPLE, то я в порядке. Я надеюсь, что это не приведет к функции из 10 строк, просто чтобы проверить, был ли месяц единичным, а затем добавить к нему ноль.

В основном я использую плагин AnyTime js (http://www.ama3.com/anytime/)), но он выдает ошибку, если моя начальная дата не была в форме "гггг-мм-дд". Моим начальным значением по умолчанию является "сейчас", поэтому Я пытаюсь преобразовать новую дату () в этот формат. Любая помощь?

Примечание пожалуйста, не давайте ссылки на плагины, так как я надеялся на ДЕЙСТВИТЕЛЬНО простое решение. я считаю, что использование плагина просто для исправления плагина на самом деле не очень чисто.

Ответы [ 6 ]

3 голосов
/ 01 апреля 2011

Усилия 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());
  }
}());
3 голосов
/ 01 апреля 2011
   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;
    }
1 голос
/ 20 марта 2012

Библиотека Any + Time (TM) включает объект с именем AnyTime.Converter специально для анализа и форматирования дат, поэтому вы могли бы сделать это:

(new AnyTime.Converter({format:"%Y-%M-%d"})).format(new Date());

Однако библиотека по умолчанию также использует текущую дату / время, если поле пустое или не соответствует спецификатору формата, так что вы действительно можете просто оставить поле пустым при отображении формы!

Если у кого-то возникают дополнительные проблемы или вопросы, вы можете связаться со мной напрямую по ссылкам на моем веб-сайте.

0 голосов
/ 01 апреля 2011

Этот красивый код охватывает все типы форматов

использовать этот синтаксис

var now = new Date();
now.format("mm/dd/yyyy");
0 голосов
/ 01 апреля 2011

Я думаю, что вы ищете это

0 голосов
/ 01 апреля 2011
...