关于5-4的习题你们还有没有更简单的方法和代码

关于5-4的习题你们还有没有更简单的方法和代码

这是我的代码,其实我在写的过程中就是乱摸索的。

function myFun(){

    var workYear=prompt("请输入员工的入职年份,列如2017");

    var workMonth=prompt("请输入员工的入职月份,列如3");

    var workDate=prompt("请输入员工的入职日期,列如12");

    var times=new Date();

    var year=times.setFullYear(workYear);

    var month=times.setMonth(workMonth);

    var date=times.setDate(workDate);

    var year=times.getFullYear(workYear);

    var month=times.getMonth(workMonth);

    var date=times.getDate(workDate);

    document.write("该员工的入职时间是:"+workYear+"-"+workMonth+"-"+workDate+"<br />");

    var newTimes=new Date(year+3,month,date);

    document.write("该员工合同到期时间是:"+newTimes.getFullYear(workYear)+"-"+newTimes.getMonth(workMonth)+"-"+newTimes.getDate(workDate));

}

    myFun();

一开始我设置了

 var year=times.setFullYear(workYear);

    var month=times.setMonth(workMonth);

    var date=times.setDate(workDate);

但是我没有设置

ar year=times.getFullYear(workYear);

    var month=times.getMonth(workMonth);

    var date=times.getDate(workDate);

所以结果一直出不来,后面我又直接设置

ar year=times.getFullYear(workYear);

    var month=times.getMonth(workMonth);

    var date=times.getDate(workDate);

没有直接设置

 var year=times.setFullYear(workYear);

    var month=times.setMonth(workMonth);

    var date=times.setDate(workDate);

后面我把两个凑在一起才弄出来。单独用set或者get获取的设置为什么不行?我想不通我不是都直接设置或者是直接获取了吗?

正在回答

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

3回答

这个问题其实不是问题,不要着急,你主要是不知道这几个方法是干嘛的。我教你个学习的方法,这比我直接告诉你答案更好记得牢,而且以后碰到此类的问题就都能自己解决了。你把每个你不知道的值输出来看看,看看为什么要用这个方法,这里面的方法有的是为了转换数据的,所以你一个一个试试,用alert()输出出来,然后做好记录,我相信你知道通过这个方法,把这个问题弄明白,以后碰到类似的问题都能自己解决。如果你经过自己的探索还不会我再跟你解释,加油!

  • 晓白菜 提问者 #1
    非常感谢!
    2017-04-10 19:34:44
  • 晓白菜 提问者 #2
    老师,为什么我var year=times.setFullYear(workYear); console.log(year); 或者alert(year);打印或者是显示出来是一串数字?而不是我设置的年份呢?
    2017-04-10 19:48:31
Miss路 2017-04-11 15:15:42

getFullYear() 方法可返回一个表示年份的 4 位数字。

  • 提问者 晓白菜 #1
    哦哦,我知道了,先设置一个setFullYear得到一个以一串数字是毫秒的年份,然后再用getFullYear把这个一串数字的毫秒的年转换为4位数字的年份。是不是可以这样理解。所以setFullYear之后必须要getFullYear.
    2017-04-11 15:39:12
  • Miss路 回复 提问者 晓白菜 #2
    也可以这么理解
    2017-04-11 16:30:59
Miss路 2017-04-11 11:02:30

setFullYear() 方法用于设置年份。返回调整过的日期的毫秒,也就是说你看到的一串数字是毫秒。

  • 提问者 晓白菜 #1
    原来是这样啊,那要怎么换成4位数的年份呢?
    2017-04-11 11:36:33
  • 洋葱宝宝 回复 提问者 晓白菜 #2
    你不要console.log(year),直接getFullYear()就行了.举个栗子 var time=new Date(), year=time.setFullYear(2012); console.log(time.getFullYear()); //2012 console.log(year); //1338571303739
    2017-06-02 01:22:57
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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