2012-10-30 60 views
0

我试图显示文本'2012年10月9日'。相反,它没有运行该功能,并显示了很多不安全的日期文本。有谁知道我做错了什么?Javascript日期功能不起作用

你可以用我的jsfiddle玩... http://jsfiddle.net/UP3fd/

这里是代码...

var myDate = new Date(); 

convertDate(myDate); 

myDate.setFullYear(2012, 9, 9); 

document.write(myDate); 

function convertDate(d) { 
    var day = d.getDate(); 
    if (day < 10) { 
     day = "0" + day; 
    } 
    var year = d.getFullYear(); 
    var month = d.getMonth(); 
    var months=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct"," Nov","Dec"]; 
    var currentMonth = months[month]; 
    return (currentMonth + " " + day + ", " + year); 
} 

回答

4

要调用的函数,你设置你的约会之前,你不保存/输出任何地方的返回值。

var myDate = new Date(); 

myDate.setFullYear(2012, 9, 9); 

document.write(convertDate(myDate)); 

function convertDate(d) { 
    var day = d.getDate(); 
    if (day < 10) { 
     day = "0" + day; 
    } 
    var year = d.getFullYear(); 
    var month = d.getMonth(); 
    var months=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct"," Nov","Dec"]; 
    var currentMonth = months[month]; 
    return (currentMonth + " " + day + ", " + year); 
} 
​ 
+0

谢谢你的工作...... http://jsfiddle.net/UP3fd/1/ –

0

这是正确的代码:

var myDate = new Date(); 
myDate.setFullYear(2012, 9, 9); 
myDate = convertDate(myDate); 
document.write(myDate); 

[...] 
0

这里的更正后的代码,这应该回报你,你期待什么。

var myDate = new Date(); 

myDate.setFullYear(2012, 9, 9); 

var newDate = convertDate(myDate); 

document.write(newDate); 

function convertDate(d) { 
    var day = d.getDate(); 
    if (day < 10) { 
     day = "0" + day; 
    } 
    var year = d.getFullYear(); 
    var month = d.getMonth(); 
    var months=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct"," Nov","Dec"]; 
    var currentMonth = months[month]; 
    return (currentMonth + " " + day + ", " + year); 

} 
1
var strDate = addZero(d.getDate()) + "/" + addZero((d.getMonth() + 1))+ 
     "/" +d.getFullYear(); 
     alert("strDate :"+strDate) 
     return strDate; 
    } 
    function addZero(i) { 
     if (i < 10) { 
      i = "0" + i; 
     } 
     return i; 
    }