黑马程序员技术交流社区

标题: 关于日期显示的问题 [打印本页]

作者: 盛德成    时间: 2014-3-27 10:56
标题: 关于日期显示的问题
本帖最后由 盛德成 于 2014-3-27 10:58 编辑
  1. var d = new Date();
  2. with(d)
  3. {        
  4.         var month = (getMonth()+1);
  5.         month = (month>9)?month:"0"+month;
  6.         alert(getYear()+"年"+month+"月"+getDate()+"日 星期"+getDay());
  7. }
复制代码

第四行那个地方为什么加1?毕老师说月份从0开始算的,为啥?第五行用来做什么的?


作者: H-Deka    时间: 2014-3-27 11:46
getMonth()返回的值在 0 和 11 之间,值 0 表示 1 月,咱们看着方便就要返回值+1; 第五行是为了使显示的格式好看些,如果是10月份之前就显示0+数字,例如8月就是08,这样就跟10月显示10一样!     A ? B : C这是三元运算符号应该知道把, 如果A为真,就取B的值返回,A为假返回C的值
作者: 李东梁    时间: 2014-3-27 13:21
  1.     var d = new Date();
  2.     with(d)
  3.     {        
  4.             var month = (getMonth()+1); //请看解释
  5.             month = (month>9)?month:"0"+month;
  6.             alert(getYear()+"年"+month+"月"+getDate()+"日 星期"+getDay());
  7.     }
复制代码

在日期类里面封装的其实也是数组,数组角标编码从0开始
作者: 刘一博    时间: 2014-3-27 14:22
就是规定月份从0开始
(month>9)?month:"0"+month;
判断条件?如果满足。则输出 ":" 前的, 如果不满足,则输出 ":" 后的
在这里就是判断,月份大于10月吗?如果大于则输出month值,如果不大于则补0 输出如:01
作者: 盛德成    时间: 2014-3-27 16:03
H-Deka 发表于 2014-3-27 11:46
getMonth()返回的值在 0 和 11 之间,值 0 表示 1 月,咱们看着方便就要返回值+1; 第五行是为了使显示的格 ...

明白了,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2