老师,请检查一下代码有没有瑕疵
function input(year,month,date){
var DQdate=new Date(2020,5,31);
var date=new Date(year,month,date);
var RZyear=date.getFullYear();
var RZmonth=date.getMonth();
var RZdate=date.getDate();
document.write("该员工入职时间是:"+RZyear+"-"+RZmonth+"-"+RZdate+"<br>");
document.write("该员工合同到期时间是:"+DQdate.getFullYear()+"-"+(DQdate.getMonth()+1)+"-"+DQdate.getDate()+"<br>");
}
var inputYear=prompt("请输入员工入职年份");
var inputMonth=prompt("请输入员工入职月份");
var inputDate=prompt("请输入员工入职日期");
input(inputYear,inputMonth,inputDate);
</script>0
收起
正在回答
3回答
1、这里不需要单独设置合同日期,是程序自动算的。另外,同学的代码过于复杂,建议参考:
<script>
var inputYear = parseInt(prompt("请输入员工的入职年份")),
inputMonth = parseInt(prompt("请输入员工的入职月份")-1),//在日期对象中月份存储是0-11,所以存储12就代表1月份,所以需要存储的时候减去1,输出的时候再增加1,否则只输出的时候增加,月份会越来越大
inputDate = parseInt(prompt("请输入员工的入职时间"));
function input(year, month, date) {
var enter = new Date(year, month, date);
var end = new Date(year + 3, month, date);
document.write("该员工入职时间是:" + enter.getFullYear() + "-" + (enter.getMonth()+1) + "-" + enter.getDate())
document.write("<br/>")
document.write("该员工合同到期时间是:" + end.getFullYear() + "-" + (end.getMonth() + 1) + "-" + end.getDate())
}
input(inputYear, inputMonth, inputDate)
</script>希望可以帮到你!
樱桃小胖子
2019-04-21 15:51:02
老师这边测试当var DQdate=new Date(2020,5,30);的时候,结果一直是“该员工合同到期时间是:2020-6-30”

这说明,因为入职年份、月份、日期是不固定的,因此,这里是不能直接把合同到期的日期固定死的,这里固定死了下面的
document.write("该员工合同到期时间是:" + (date.getFullYear()+3) + "-" + (date.getMonth() + 1) + "-" + date.getDate() + "<br>");程序解析渲染的时候,就会错乱,不能正常计算出从员工入职日期到合同到期的日期,因此会从错乱的程序中随机返回一个日期。这也就是你设置var DQdate=new Date(2020,5,30);随机返回的结果就成了2020年5月30日。而我这边测试返回的结果是2020-6-30的原因。
希望可以帮到你!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星