当前位置:首页 » 好文分享 » 详情

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

 有几次半夜逛论坛的时候,有个温馨的提示「提示: 已经是夜里 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() 是正确的,在不同浏览器中都能正确计算。 就解决了获取年份的兼容性问题。
打赏
X
打赏方式:
  • 支付宝
  • 微信
  • QQ红包

打开支付宝扫一扫
日期:2013年04月20日 00:22:37 星期五   分类:好文分享   浏览(67182)   评论(3)
本文地址:https://www.blogs.hk/post-129.html   [百度已收录]
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!

留言咨询

自动获取QQ

昵称

邮箱

网址

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

      Copyright © 2024 博客之家 版权所有  
      關於本站免責聲明sitemap新站登錄