根据时间显示不同的问候语的代码

 有几次半夜逛论坛的时候,有个温馨的提示「提示: 已经是夜里 0 点多了,为了您和家人的健康,请注意按时作息减少熬夜。」觉得不错,于是找了一下相关的代码和大家分享一下。


<SCRIPT language="JavaScript">
<!-----------
   var enabled = 0;   today = new Date();
   var day;   var date;
   if(today.getDay()==0)     day = "星期日"
   if(today.getDay()==1)     day = "星期一"
   if(today.getDay()==2)     day = "星期二"
   if(today.getDay()==3)     day = "星期三"
   if(today.getDay()==4)     day = "星期四"
   if(today.getDay()==5)     day = "星期五"
   if(today.getDay()==6)     day = "星期六"
   document.fgColor = " FF0072";
   date1 = "<font size=2 color=blu>" + (today.getYear())  + "年" + (today.getMonth() + 1 ) + "月" + today.getDate() + "日  " + "</font>";
   date2 = "<font size=2 color=blu>" +  day + "</font>";
   document.write("<center>" + date1.fontsize(2) + date2.fontsize(2) + "</center>");
   //----->
</SCRIPT>
<SCRIPT language="JavaScript">

<!--
document.write("<center><font color=#0066ff size=2> ")
day = new Date()
hr = day.getHours()
if (hr ==1)
document.write("凌晨一点已过,别忘了休息喔!")
if (hr ==2)
document.write("该休息了,身体可是革命的本钱啊!")
if (hr ==3)
document.write("夜深人静,只有你敲击鼠标的声音...")
if (hr ==4)
document.write("四点过了,你明天不上班???")
if (hr ==5)
document.write("该去晨运了!!!")
if (hr ==6)
document.write("你知道吗,此时是国内网络速度最快的时候!")
if (hr ==7)
document.write("新的一天又开始了,祝你过得快乐!")
if ((hr ==8) || (hr == 9) || (hr ==10))
document.write("上午好!今天你看上去好精神哦!")
if (hr ==11)
document.write("十一点过了,快下班了吧?")
if (hr ==12)
document.write("十二点过了,该吃饭休息了?")
if ((hr==13) || (hr==14))
document.write("你不睡午觉?")
if ((hr==15) || (hr==16) || (hr==17))
document.write("下午好!")
if ((hr==18) || (hr==19))
document.write("18,19点这时候该吃晚饭啦")
if ((hr==20) || (hr==21) || (hr==22))
document.write("今晚又在这玩电脑了,没节目?")
if (hr==23)
document.write("23点了真是越玩越精神,不打算睡了?")
if (hr==0)
document.write("凌晨了,还不睡?")
document.write("</font></center>")
//--->
</SCRIPT>


  以上问候语、字形、大小、颜色可自由更改的。

 这段代码在Microsoft Internet Explorer中执行正常,输出2013年4月13日星期五,但在Mozilla Firefox浏览器中却显示为113年4月13日星期五,这个问题在其它许多网站上都存在,因为浏览器对于JS代码的解释是存在差异性的。


IE中:
today=new Date();
today.getYear()返回的是绝对的公元纪年,2013

代码中:
today=new Date();
today.getYear()返回的是相对绝对的年份,年份相对于1900,因为今年是2013,两者相减是113。

这个问题的根源在于2000年问题,以前年份的表示使用2位数字,在ECMAScript Language Specification的规范中是这么描述的Date对象的:

引用内容 引用内容Date.prototype.getYear ( )
NOTE
The getFullYear method is preferred for nearly all purposes, because it avoids the "year 2000 problem."
When the getYear method is called with no arguments the following steps are taken:
1. Let t be this time value.
2. If t is NaN, return NaN.
3. Return YearFromTime(LocalTime(t)) − 1900.

因此,为了最大范围的兼容性,使用getFullYear() 是正确的,在不同浏览器中都能正确计算。 就解决了获取年份的兼容性问题。

版权所有:《博客之家
文章标题:《根据时间显示不同的问候语的代码
除非注明,文章均为 《博客之家》 原创
转载请注明本文短网址:https://bk.likinming.com/post-129.html  [生成短网址]

日期:2013年04月20日 星期六   分类:好文分享   浏览(16189)   评论(3)
本文已经被百度收录,点击查看详情
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。免费发布信息

留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

自动获取QQ

昵称

邮箱

网址

2楼、奶爸 [回复该留言]
2013-04-23 16:56
不错不错。学习了。要的时候再来COPY
1楼、爱冰 [回复该留言]
2013-04-20 16:34
又看到了IE FF对时间的理解造成的笑话。。建议把代码中的也改成fullyear吧。。另外欢迎经常娶我的博客看看哦~
欣欣 [回复该留言]
2013-09-15 01:46
@爱冰:爱冰哥哥的错别字看笑我了

网站收录提交

  • 名称:
  • 网址:

网址统计

  • 收录网址:993 个
  • 发布文章:2532 条
  • 本站运行:5年7月25天
Copyright © 2012 - 2018 by 李明关于本站免责声明本站下载站点地图sitemap广告联系