javascript将十进制转换为日期
我有一个日期作为字符串:javascript将十进制转换为日期,javascript,date,decimal,Javascript,Date,Decimal,我有一个日期作为字符串: var mydate=“2011年5月5日” 当我将此变量传递给如下函数时: myfunction(mydate) 我会提醒结果,并得到一个小数,而不是字符串日期: function myfunction(mydate){ alert(mydate); } 产生: 0.000497265042675286 如何将其恢复到日期?尝试使用以下语法: var mydate = new Date("05/05/2011"); 这是数学表达式的结果:5/5/2011
var mydate=“2011年5月5日”
当我将此变量传递给如下函数时:
myfunction(mydate)代码>
我会提醒结果,并得到一个小数,而不是字符串日期:
function myfunction(mydate){
alert(mydate);
}
产生:
0.000497265042675286
如何将其恢复到日期?尝试使用以下语法:
var mydate = new Date("05/05/2011");
这是数学表达式的结果:5/5/2011=4.972e-4
,确保字符串被引用
var x = 5/5/2011; //performs division
as opposed to
var x = "5/5/2011"; //creates a string
05除以05除以2011等于0.00049726504202675286,所以我猜它认为05/05/2011是一个表达式而不是字符串。您确定变量周围有引号吗?0.000497265042675286是5/5/2011
(如在分区中)
很可能您在键入日期时没有引用字符串,或者您正在将字符串传递给eval
,而您应该将其传递给。我也有这个问题(我在弹出窗口中将字符串从codebehind传递到开场白上的javascript)。我的解决办法很简单
在asp.net中
<asp:Label ID="foo" runat="server"/>
在代码隐藏中:
string runThis = "blahblah"
+ "'"
+ foo.Text
+ "';";
如果文本周围没有一个引号,它将吐出十进制jibberish(即2011年5月5日的数学结果)
我猜在你的情况下你可以
alert("'" + myDate + "'");
请使用来重现此行为。这是数学表达式的结果:5/5/2011=4.972e-4确定字符串被引用了吗?在您的示例中,调用myfunction()并向其传递字符串只会提醒字符串。Ninja Edit Nice catch Alex,这似乎就是正在发生的事情。事实上,日期已经作为字符串包含在变量中,这就是为什么我不确定当我将包含日期的变量作为字符串传递给另一个函数时,它为什么试图解方程的原因。。。
alert("'" + myDate + "'");