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

我看过这个: 如何使用javascript获取格式化日期时间如2009-05-29 21:55:57?

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

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

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

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

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

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

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

也:

将javascript转换为date对象为mysql日期格式(YYYY-MM-DD)

– 皮特

我想你正在寻找这个

这个漂亮的代码涵盖了所有类型的格式

使用这种语法

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