为什么我这个代码输出的日期和真实时间不相符

来源:7-23 编程练习

花椋

2018-05-03 21:39

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>

<script type="text/javascript">
var mydate=new Date();
var i=["周一","周二","周三","周四","周五","周六","周日"];
document.write(mydate.getFullYear()+"年"+mydate.getMonth()+"月"+mydate.getDay()+"日"+i[mydate.getDay()]);
  //通过javascript的日期对象来得到当前的日期,并输出。
 
 

 
 
  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var score=scoreStr.split(";");
 var sum = 0;
  var avg = 0;
  for (var i = 0; i < score.length; i++) {
      sum = sum + parseInt(score[i].slice(3,5));
  }
  document.write("该班级总分为:"+parseInt(sum)+"<br/>")
  avg = sum / score.length;
  document.write("班级平均分是:"+parseInt(avg));



  //从数组中将成绩撮出来,然后求和取整,并输出。
 


</script>
</head>
<body>
</body>
运行结果是:

2018年4月4日周五该班级总分为:815
班级平均分是:81

写回答 关注

3回答

  • 皇骑
    2018-05-06 20:01:48
    已采纳

    我也遇到了这个问题,

    1. 首先说一下你的月份错误原因:

    getMonth()返回的值是0到11, 0代表一月,所以返回数字5其实表示的是“4”月;

    2. “日”错误原因:

    获取“日”应该使用 getDate() 而不是 getDay(), getDay() 是获取星期几;

    3. 星期错误原因:

    你保存星期的字符串的数组是错的,应该是:

    var i = ["星期日", "星期一", .......] 后面自己补全,就是第一个该是星期日而不是星期一。


    花椋

    谢谢,我已经试过了,成功了

    2018-05-07 17:48:10

    共 1 条回复 >

  • 盗梦空间开发者
    2019-05-14 16:07:08

    不建议用slice(3,5),因为实际应用中,名字可能是三位,建议用split(":")[1]

    因为把冒号分割之后,返回数组,0为字符串姓名,1为数值成绩。

  • 花椋
    2018-05-03 21:42:31

    今天是5月3号周四呀

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题