1

我已经看到了:如何使用 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”形式,它会引发错误。我的起始默认值是“现在”,所以我试图将新的 Date() 转换为该格式。有什么帮助吗?

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

4

6 回答 6

3

vvk's effort is pretty much on the money, here's a minor modification of the same thing:

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());
  }
}());
于 2011-04-01T13:41:42.763 回答
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;
    }
于 2011-04-01T11:34:02.963 回答
1

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

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

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

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

于 2012-03-20T03:56:49.737 回答
0

还:

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

——皮特

于 2011-04-01T11:10:28.663 回答
0

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

使用这个语法

var now = new Date();
now.format("mm/dd/yyyy");
于 2011-04-01T11:28:43.900 回答
0

我想你正在寻找这个

于 2011-04-01T11:15:58.540 回答