获取格式为2011-04-01的Javascript日期

时间:2011-04-01 11:04:00

标签: javascript jquery formatting datepicker anytime

我见过这个:how to get formatted date time like 2009-05-29 21:55:57 using javascript?

但我确实需要在单个数字日期之前的0(我需要2011-04-01,而不是2011-4-1)

我不想为这个添加另一个不必要的插件,所以如果在js / jquery中有内置函数或SIMPLE函数可以做到这一点,我很好。我希望它不会导致10行函数,只是为了检查月份是否是单数,然后为它添加零。

基本上,我使用的是AnyTime js(http://www.ama3.com/anytime/)插件,但如果我的开始日期不是“yyyy-mm-dd”形式,则会抛出错误。我的起始默认值是“now”所以我试图将新的Date()转换为该格式。有什么帮助吗?

注意 请不要提供插件的链接,因为我希望有一个非常简单的解决方案。我发现使用插件来修复插件实际上并不是很干净。

6 个答案:

答案 0 :(得分:3)

   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 :(得分:3)

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());
  }
}());

答案 2 :(得分:1)

Any + Time(TM)库包含一个名为AnyTime.Converter的对象,专门用于解析和格式化日期,因此您可以这样做:

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

但是,如果字段为空或与格式说明符不匹配,则库也默认为当前日期/时间,因此当您显示表单时,您真的可以将该字段留空!

如果有任何其他问题或疑问,您通常可以通过我网站上的链接直接与我联系。

答案 3 :(得分:0)

答案 4 :(得分:0)

我认为您正在寻找this

答案 5 :(得分:0)

This nice code涵盖所有类型的格式

使用此语法

var now = new Date();
now.format("mm/dd/yyyy");