2011-06-07 20 views
3
var d = new Date(); 
    var today_date = d.getDate() + '/' + month_name[d.getMonth()] + '/' + d.getFullYear(); 

這就是我如何得到日期。它適用於一個小問題。對於今天的日期2011年6月7日它返回7/11/2011,我希望它返回的是07/11/2011?Ajax get dd/mm/yyyy格式的日期

任何人都知道如何?

+0

如果您正在使用jQuery更改腳本可用 – Dotnet 2011-06-07 09:53:03

回答

1

像這樣:

("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 
+0

月份名稱格式應爲01 02 03 etc不是Jan Feb,但除了那個thans,它的工作 – Beginner 2011-06-07 10:06:16

+0

@Beginner:我對我的回答做了小改動 – 2011-06-07 10:17:33

1

試試這個():

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

嗯,你可以簡單地檢查d.getDate()的長度,如果它1,然後在開頭添加一個零。但你想看看format()格式化你的日期?

1

試試這個,這是更容易理解:

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

+1

我喜歡這個解決方案。它不那麼神祕。會讓我更容易跟隨我。我做了一些小改動。 'var month = currentTime.getMonth();'給你從0開始的月份編號,所以以1-12格式獲得當前月份,我做了'var month = currentTime.getMonth()+1;' – Grayson 2014-06-17 16:20:46

+0

Thanks @格雷森指出我這個「月份問題」。我已經更新了我的答案。不幸的是,有時_javascript_不符合[最小驚訝原則](http://en.wikipedia.org/wiki/Principle_of_least_astonishment) – 2014-06-20 09:57:00