【问题标题】:Ajax get Date in dd/mm/yyyy formatAjax 以 dd/mm/yyyy 格式获取日期
【发布时间】:2011-09-09 22:44:23
【问题描述】:
var d = new Date();
    var today_date = d.getDate() + '/' + month_name[d.getMonth()] + '/' + d.getFullYear();

这就是我约会的方式。它有一个小问题。对于今天 2011 年 6 月 7 日,它返回 7/11/2011,我希望它返回的是 07/11/2011?

有人知道怎么做吗?

【问题讨论】:

  • 如果您使用的是 Jquery,请更改可用脚本中的格式

标签: javascript jquery asp.net ajax date


【解决方案1】:

好吧,您可以简单地检查d.getDate() 的长度,如果它是 1,那么您在开头添加一个零。但是您想看看format() 来格式化您的日期吗?

【讨论】:

    【解决方案2】:

    像这样:

    ("0"+1).slice(-2);  // returns 01
    ("0"+10).slice(-2); // returns 10
    

    完整示例:

    var d = new Date(2011,1,1); // 1-Feb-2011
    var today_date =
        ("0" + d.getDate()).slice(-2) + "/" +
        ("0" + (d.getMonth() + 1)).slice(-2) + "/" + 
        d.getFullYear();
    // 01/02/2011
    

    【讨论】:

    • 月份名称应该是 01 02 03 等,而不是 Jan Feb,但除此之外它还有效
    • @Beginner:我对我的回答做了一些小改动
    【解决方案3】:

    试试这个 (http://blog.stevenlevithan.com/archives/date-time-format):

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

    【讨论】:

      【解决方案4】:

      试试这个,这样更容易理解:

        var currentTime = new Date();
        var day = currentTime.getDate();
        var month = currentTime.getMonth() + 1;
        var year = currentTime.getFullYear();
      
        if (day < 10){
        day = "0" + day;
        }
      
        if (month < 10){
        month = "0" + month;
        }
      
        var today_date = day + "/" + month + "/" + year;
        document.write(today_date.toString());
      

      结果是:

      07/05/2011

      【讨论】:

      • 我喜欢这个解决方案。它不那么神秘。会让跟在我后面的人更容易。我确实做了一个小改动。 var month = currentTime.getMonth(); 为您提供从 0 开始的月份编号,因此为了以 1-12 格式获取当前月份,我使用了 var month = currentTime.getMonth() + 1;
      • 感谢@Grayson 指出这个“月刊”。我已经更新了我的答案。不幸的是,有时 javascript 不符合 principle of least astonishment
      猜你喜欢
      • 2016-01-02
      • 1970-01-01
      • 2011-12-06
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多