繁体   English   中英

在Javascript中根据日期查找日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM