老师,请问下我这样写有什么问题

老师,请问下我这样写有什么问题

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>员工合同到期时间</title>

</head>

<body>

<script>

    //?代码补充

    var year=prompt("入职年份");

    var month=prompt("入职月份");

    var day=prompt("入职日期");

    year = parseInt(year),

    month = parseInt(month),

    day = parseInt(day);

    function contract(year,month,day){

        var timeline=new Date(year,month-1,day+1095),

        newyear=timeline.getYear(),

        newmonth=timeline.getMonth(),

        newday=timeline.getDate();

        var annouce="该员工合同到期时间是:"+newyear+"-"+(newmonth+1)+"-"+newday+"<br>";

        return annouce;

    }

    document.write("该员工入职时间是:"+year+"-"+month+"-"+day+"<br>");

    document.write(contract(year,month,day));

    

</script>

</body>

</html>

结果出来,年份总是少了第一个数字,是怎么回事?还是说我将三年时间算成1095天的做法就是错的?按道理讲三年变成1095天加上去也可以把

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕码 2020-03-24 09:08:43

同学你好,闰年的时候天数是366,而且不确定用户是输入的是否闰年,所以在天数上加1095的思路是有一些欠缺的。

http://img1.sycdn.imooc.com//climg/5e795d830904bd3c03410086.jpg

另外,手动计算年的天数有一些复杂,所以可以直接把“3年”添加在获取年的方法上,让方法自动去换算。

祝学习愉快~

好帮手慕码 2020-03-23 17:44:24

同学你好,不太清楚同学说的“换算成提娜的做法是错误的”的意思,同学可以再描述一下,或者可以截图演示。

祝学习愉快~

  • 提问者 慕雪9296518 #1
    抱歉,一下子没注意,我是说换算成天数的做法是错的为什么?
    2020-03-23 22:40:34
好帮手慕码 2020-03-22 14:34:22

同学你好,“将三年时间算成1095天的做法”是错误的思路哦,可以直接在获取年份后面添加。如下:另,获取年份的方法是getFullYear()

http://img1.sycdn.imooc.com//climg/5e7706b709188b3204810150.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 慕雪9296518 #1
    为什么换算成提娜的做法是错误的?
    2020-03-23 14:07:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师