JS函数..编写一个函数来查找用户的工作日'’s生日

JS function...Write a function to find the weekday of the user's birthday

本文关键字:函数 工作日 生日 用户 JS 一个 查找      更新时间:2023-09-26

-使用window.prompt生成一个对话框,要求用户键入他/她的生日。

-编写一个函数来查找用户生日的工作日。

-用一句话回应用户,告诉用户他/她的生日的工作日(工作日名称)。例:"你出生在星期三。"

-脚本应包括必要的数据验证。当用户提供的日期不是有效日期时,适当地对用户做出响应。(但是,允许未来日期。)

我不知道该怎么做。。我现在有这个。。。。所有这些对我来说都是告诉我我出生在2月12日,也就是星期四。我不太确定从哪里开始。我需要做什么样的函数才能工作???

var bday;
bday = window.prompt("When is your birthday?","");
var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday', 'Friday', 'Saturday']
var currentTime = new Date();
var currentDay = currentTime.getDay();
var currentDayName= days[currentDay];
document.write("You were born on "+currentDayName);

试试这样的东西:

var bday;
bday = window.prompt("When is your birthday (YYYY-MM-DD)?","");
var bdayArray = bday.split('-');

//validation
if(bdayArray.length !== 3){
     alert("invalid Date");
}else{
    if(!bdayArray[0].match(/^'d'd'd'd$/) || 
       !bdayArray[1].match(/^'d'd$/) || 
       !bdayArray[2].match(/^'d'd$/)){
        alert("invalid Date");    
    }else{
        var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday', 'Friday', 'Saturday'];     
        var currentTime = new Date(            
            parseInt(bdayArray[0]),
            parseInt(bdayArray[1]) - 1, //month starts from 0
            parseInt(bdayArray[2])
        );        
        var currentDay = currentTime.getDay();       
        var currentDayName= days[currentDay];
       document.write("You were born on "+currentDayName);
    }
}

您还可以使用momentjs使日期操作更加简单。

我不会为你写作业,但这通常是你想做的:

  1. 获取用户的生日
  2. 创建日期设置为该生日的new Date对象
  3. 使用日期对象的getDay方法
  4. 将表示一周中某一天的数字转换为该天的实际字符串

您需要一个函数来获取用户输入并将其转换为Date对象。你可以手动制作,但如果你搜索更多,你就会知道这个功能已经在网络浏览器中实现了。

请查看此MDN文档,了解如何从字符串生成Date对象。关于Date.parse()的文档也可能对您有所帮助。