I';I’我正试图得到那一天——Javascript

I';I’我正试图得到那一天——Javascript,javascript,html,if-statement,Javascript,Html,If Statement,我有一个脚本可以找到那一天、日期和年份。 但两天之后,它应该在这一天的下方写上“我关门了”。。。 这两天是“Søndag”和“Onsdag” 我曾试图做一个if声明,但似乎不起作用:( HTML JS-测试 - JS //获取日期的函数 函数日历(){ var day=['Søndag'、'Mandag'、'Tirsdag'、'Onsdag'、'Torsdag'、'Fredag'、'Lørdag']; 变量月=[‘一月’、‘二月’、‘四月’、‘四月’、‘六月’、‘六月’、‘六月’、‘八月’

我有一个脚本可以找到那一天、日期和年份。 但两天之后,它应该在这一天的下方写上“我关门了”。。。 这两天是“Søndag”和“Onsdag” 我曾试图做一个if声明,但似乎不起作用:(

HTML


JS-测试
-

JS

//获取日期的函数
函数日历(){
var day=['Søndag'、'Mandag'、'Tirsdag'、'Onsdag'、'Torsdag'、'Fredag'、'Lørdag'];
变量月=[‘一月’、‘二月’、‘四月’、‘四月’、‘六月’、‘六月’、‘六月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’];
var d=新日期();
setText('calendar-day',day[d.getDay()]);
setText('calendar-date',d.getDate());
setText('calendar-month-year',month[d.getMonth()]+''+(1900+d.getYear());
支票日();
};
//函数,查看是否为关闭日
var段落=document.querySelector('p');
函数checkDay(){
如果(日期=='Onsdag'){
段落.innerText='我已关闭';
}
}
函数setText(id,val){
如果(val<10){
val='0'+val;//如果val<10,则添加前导0
}
document.getElementById(id).innerHTML=val;
};
window.onload=日历;

可能您正在尝试这样做。您不能直接访问checkDay函数中的
day
,而是需要将其作为参数传递,然后再传递。其次,您不能直接从day中提取值,因为它是数组而不是整数或字符串,因此您需要在数组中循环以找到正确的值
函数日历(){
var day=['Søndag'、'Mandag'、'Tirsdag'、'Onsdag'、'Torsdag'、'Fredag'、'Lørdag'];
变量月=[‘一月’、‘二月’、‘四月’、‘四月’、‘六月’、‘六月’、‘六月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’];
var d=新日期();
var today=天[d.getDay()];
setText(“日历日”,今天);
setText('calendar-date',d.getDate());
setText('calendar-month-year',month[d.getMonth()]+''+(1900+d.getYear());
支票日(今日);
};
//函数,查看是否为关闭日
var段落=document.querySelector('p');
功能检查日(天){
如果(day==“Onsdag”| | day==“Søndag”){
段落.innerText='我已关闭';
}else段落.innerText='我被打开';
}
函数setText(id,val){
如果(val<10){
val='0'+val;//如果val<10,则添加前导0
}
document.getElementById(id).innerHTML=val;
};
window.onload=日历;

JS-测试
-


我已经过了一天又一天的检查日:

//获取日期的函数
函数日历(){
var day=['Søndag'、'Mandag'、'Tirsdag'、'Onsdag'、'Torsdag'、'Fredag'、'Lørdag'];
变量月=[‘一月’、‘二月’、‘四月’、‘四月’、‘六月’、‘六月’、‘六月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’];
var d=新日期();
setText('calendar-day',day[d.getDay()]);
desiredDay=天[d.getDay()];
setText('calendar-date',d.getDate());
setText('calendar-month-year',month[d.getMonth()]+''+(1900+d.getYear());
支票日(期望日);
};
//函数,查看是否为关闭日
var段落=document.querySelector('p');
功能检查日(天){
如果(日期=='Onsdag'){
段落.innerText='我已关闭';
}
}
函数setText(id,val){
如果(val<10){
val='0'+val;//如果val<10,则添加前导0
}
document.getElementById(id).innerHTML=val;
};
window.onload=日历;

JS-测试
-


开发人员最宝贵的品质是懒惰。不要在那里胡闹:-)使用Date对象来操纵日期,而且,现在,当您想要操纵DOM时,没有理由不使用Vue

要获取丹麦工作日,请使用
myDate.toLocaleDateString('da-DK',{weekday:'long'})
。月份名称也是如此。文档是

要确定某一天是否在周末,请使用
(myDate.getDay()==6)| |(myDate.getDay()==0)

下面是您的示例,包含13行脚本和6行标记

var vm=new Vue({
el:“vueRoot”,
数据:{myDate:new Date()},
计算:{
formattedDate(){
返回此.myDate.toLocaleDateString(
"dadk",,
{工作日:'long',日:'numeric',月:'long',年:'numeric'}
);
},
isOpen(){return!(this.myDate.getDay()==3 | | this.myDate.getDay()==0)}
}
})

{{formattedDate}}

{{isOpen?'I am OPEN':'I am CLOSED'}
不等于“Onsdag”
day
是一个包含所有工作日的数组。那么如何获取“Onsdag”?:)为了避免混淆,您应该将数组称为“days”,它包含所有天。您第一次是如何获得它的
day[d.getDay()]
…您已经这样做了,只需将day[d.getDay()]作为参数发送到checkDay函数,并使用该参数验证日期您还可以将该条件替换为
if(true)
,因为它将始终确定今天应该关闭。是的,但您的代码不起作用。如果你把If(d=='Onsdag'){改为If(d=='Torsdag'){它仍然会说“我关门了”,但今天不是星期四,是星期三。好吧。我没有收到你的问题。让我来解决它。如果那天是Onsdag或Søndag,这会打印“关门了”
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>JS - Testing</title>
  </head>
  <body>
    <b id="calendar-day"></b> -
    <b id="calendar-date"></b>
    <b id="calendar-month-year"></b>
    <p></p>
  </body>
  <script src="main.js"></script>
</html>
//function that gets the day and date
function calendar() {
    var day = ['Søndag', 'Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'];
    var month = ['Januar','Febuar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December'];
    var d = new Date();
    setText('calendar-day', day[d.getDay()]);
    setText('calendar-date', d.getDate());
    setText('calendar-month-year', month[d.getMonth()]+' '+(1900+d.getYear()));
    checkDay();
};

//function that sees if it's closing day
var paragraph = document.querySelector('p');

function checkDay() {
  if (day == 'Onsdag') {
    paragraph.innerText = 'I am closed';
  }
}

function setText(id, val){
    if(val < 10){
        val = '0' + val;    //add leading 0 if val < 10
    }
    document.getElementById(id).innerHTML = val;
};

window.onload = calendar;