javascript将十进制转换为日期

时间:2011-04-22 18:11:00

标签: javascript date decimal

我有一个日期作为字符串: var mydate = "05/05/2011" 当我将此var传递给类似的函数时: myfunction(mydate);

我提醒结果并得到小数而不是字符串日期:

function myfunction(mydate){
    alert(mydate);
}

产生:

  

0.0004972650422675286

如何让它回到约会?

5 个答案:

答案 0 :(得分:4)

这是数学表达式的结果:5 / 5 / 2011 = 4.972e-4,确保引用字符串。

var x = 5/5/2011; //performs division

as opposed to

var x = "5/5/2011"; //creates a string

答案 1 :(得分:2)

我也有这个问题(我在弹出窗口中将字符串从代码隐藏传递到开启者的javascript)。我的解决方案很简单。

在asp.net中

<asp:Label ID="foo" runat="server"/>

在javascript中

foo.Text = "5/5/2011";
代码隐藏中的

string runThis = "blahblah"
+ "'"
+ foo.Text
+ "';";

如果没有围绕文本的单引号,它会吐出十进制乱码(即2011年5月5日的数学结果)

我猜你的情况可以做到

alert("'" + myDate + "'");

答案 2 :(得分:0)

尝试使用以下语法:

var mydate  = new Date("05/05/2011");

答案 3 :(得分:0)

05除以05除以2011是0.0004972650422675286,所以我的猜测是认为05/05/2011是一个表达式而不是字符串。你确定变量附有引号吗?

答案 4 :(得分:0)

0.0004972650422675286是5 / 5 / 2011(如分部)。

您可能在没有引用字符串的情况下键入日期,或者在将字符串传递给Date.parse时将字符串传递给eval