2.3JavaScript中的内置对象

上一篇 / 下一篇  2013-10-28 15:03:19 / 个人分类:JavaScript学习笔记

JavaScript有很多预先定义好的对象,可以直接在脚本中使用,这种对象被称为内置对象。例如:Date就是一个内置对象。获得Date对象的语法是:

dateObj=new Date();               //不提供参数,可以获取当前时间

dateObj=new Date(dateVal);         //dateVal变量解析为时间日期

dateObj=new Date(year,month,date[,hours[,minutes[,seconds[,ms]]]]);

                                //根据给定的时间日期构造Date对象

获得Date对象后,使用点“.”操作符引用其所有的属性或方法。例如:获取当前年份的做法是:

dateObj=new Date();

theYear=dateObj.getYear();

 

实例:

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta. http-equiv="Content-Type" content="text/html; charset=utf-8" />

 

<title>2-3  获取当前时间日期</title>

<!--脚本部分-->

<script. type="text/javascript">

dt=new Date();

what_to_say="今天是"+dt.getYear()+""+(dt.getMonth()+1)+""+dt.getDate()+"日,现在时间是"+dt.getHours()+""+dt.getMinutes()+""+dt.getSeconds()+"";

alert(what_to_say);

</script>

</head>

 

<body style="overflow:auto;">

</body>

</html>

结果:


1)需要注意的是,Date对象的getMonth方法返回的日期值是从011的,在显示或计算的时候应当加上1.

2)如前所述,双引号包括起来的部分就是字符串。代码中使用“+”号将各字符串连接起来。

3)如上图结果显示出来的,“2013年”显示的却是“113年”。出现这个原因是浏览器的兼容性问题,把dt.getYear()改为“dt.getFullYear”即可。

下面总结下getYeargetFullYeargetUTCFullYear的不同点:

 

 

       getYeargetFullYeargetUTCFullYear都是JavascriptDate对象的方法函数。其中getYear()方法出生较早,在早期也一直使用OK,可是在2000年后这个方法问题多多,因为在FirefoxSafari等浏览器上,getYear始终返回年份与1900年之间的差,比如1998年返回98,而2009年则会显示109,如果大家都这么处理也好,要加一起加,微软自己在IE浏览器中把getYear给修正了,可Firefox(最新版本也没修正这个问题)还蒙在鼓里,仍老老实实的按照原有规则解析getYear,本来都可以指望用户自行修正,这样一来都没得用,于是getFullYeargetUTCFullYear就出生了。

 

      1getYear()函数

      使用getYear()方法可返回两位或四位数的年份,用getYear()返回的数并不一定是4位的!处于1900年和1999年间的getYear()方法返回的只有两位数。在此之前的或是在此之后的年份返回的都是四位数的,比如2009年,Javascript解析器应该是返回2009的,而浏览器则计算返回109。这应该是早期的约定,而IE埋头改掉了。该函数已经被逐渐废弃并不推荐使用。

 

       <script. type="text/javascript">

 

              var d = new Date();

 

              document.write(d.getYear());//IE输出2009FIREFOX输出109

 

       </script>

 

      2getFullYea()函数

       getFullYear函数则不存在此问题。getFullYear()方法可返回一个四位数年份,这样大家(IEFIREFOX等)都不需要运算,直接把解析值输出来即可。

 

       <script. type="text/javascript">

 

              var d = new Date();

 

              document.write(d.getFullYear());//IE输出2009FIREFOX输出2009

 

       </script>

 

      3getUTCFullYear()函数

       getUTCFullYear()函数则是根据UTC时间返回了四位数来代表年份。与getFullYear()方法理论角度是完全不同,虽然在大部分的时间里输出是相同的,但是假如当天日期是1231日或11日,则getUTCFullYear()返回值与getFullYear()返回值就有可能不同,具体取决于当地时区和UTC通用时间之间的关系,也就是差值。

 

       <script. type="text/javascript">

 

              var d = new Date();

 

              document.write(d.getUTCFullYear());//IE输出2009FIREFOX输出2009

 

       </script>

 

       比如在中国大陆、、香港、澳门、蒙古国、台湾、新加坡、马来西亚、菲律宾等地区的本地时间比UTC8小时,记作UTC+8,意思就是比UTC时间快8小时。减的类似理解,比如UTC-10等。

 



TAG:

 

评分:0

我来说两句

日历

« 2024-05-18  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 15704
  • 日志数: 22
  • 建立时间: 2013-04-10
  • 更新时间: 2013-11-20

RSS订阅

Open Toolbar