[英]find the day according to the date in Javascript
这里唯一新的是使用eval()
:
myDate=new Date(eval('"'+aText.value+'"'))
我们需要带有引号的日期,但是,如它出现在框中,它没有任何。 所以我们添加引号。 但这只是一个字符串,我们想要一个Date
对象。 所以我们使用eval()
来进行更改。
它没有给出正确的答案
function getTheDay(aText)
{
myDays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
console.log(eval('"' + aText.value + '"'));
myDate = new Date(eval('"' + aText.value + '"'))
console.log(myDate)
document.write(myDays[myDate.getDay()], "day");
}
尝试:
function getTheDay(dateText) {
myDays = [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"];
return myDays[new Date(dateText).getDay()];
}
document.write(getTheDay(aText.value));
您使用eval()
过于复杂。 绝对没有理由你必须使用eval()
来完成这项工作。
请注意,JavaScript期望日期采用特定格式 。 如果用户在aText
控件中键入的值与此格式不匹配,那么您将获得运行时异常,或者构造的Date对象将不具有您期望的值。
你为什么要做eval('"'+aText.value+'"')
?
aText.value
是一个字符串。 你可以做new Date(aText.value)
。
var myDays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
var myDate = new Date(aText.value);
console.log(myDays[myDate.getDay()]);
注意 :您不需要为变量“添加引号”来创建字符串,这不是变量的工作方式。
var a = 'hello world';
var b = a; // a is a string variable. no need to add quotes or "eval"
你不需要eval
...几乎任何正常格式化的日期都应该有效。
new Date('June 28, 2006')
星期三00:00:00 GMT-0400(东部夏令时间)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.