JS基础教程——JavaScript基础知识(1.6日期和时间对象)

JavaScript的日期对象提供了一种简单的方式来使用日期和时间值,其中封装了有关日期和时间的操作,它有大量设置、获得和处理日期和时间的方法,但是没有任何属性。下面将从创建Date对象实例和Date对象的方法两方面进行介绍。

(1)创建Date对象实例。具体语法如下:

Date 对象名 = new Date();

其中在语法声明是可以添加参数,具体情况如下。

  • 无参数:此时获取当前计算机的日期和时间。
  • 形如:“月 日 时: 分:秒” 的参数:此时将会创建指导日期和时间的实例。
  • 形如“年,月,日,时,分,秒”的整数值参数:创建指导日期和时间的参数。

2和3是声明实例参数的两种不同形式,其都是以字符串的形式现实。具体实例代码如下:

var today = new Date();    //第一种形式显示
var now1 = new Date("march 13,2010 8:29:20);    //第二种形式显示
var now2 = new Date(11,8,6,3,30,20);    //第三中形式显示

(2)Date对象的方法。Date的方法很多,下面将对Date中常用到的方法进行简要介绍,使读者对Date部分的方法有所了解。

  • Date():返回当时的日期和时间。
  • getDate():从Date对象返回一个月中的某一天(1~31)。
  • getDay():从Date对象返回一周中的某一天(0~6)。
  • getMonth():从Date对象烦hi月份(0~11)。
  • getYear():从Date对象以四位数字返回。
  • getHours():返回Date对象的小时(0~24)。
  • getMinutes():返回Date对象的分钟(0~59)。
  • getSeconds():返回Date对象的秒数(0~59)。
  • getMilliseconds():返回Date对象的毫秒数。
  • getTime():返回1970年1月1日至今的毫秒数。
  • getTimezoneOffset():返回本地时间于格林威治标准时间(GMT)的分钟差。
  • getUTCDate():根据世界时从Date对象返回月中的一天(1~31)。
  • getUTCDay():根据世界时从Date对象返回周中的第一天(0~6)。
  • getUTCMonth():根据世界时从Date对象返回月份(0~11)。
  • getUTCFullYear():根据世界时从Date对象返回四位数的年份。
  • getUTCHours():根据世界时从Date对象返回Date对象的小时(0~23)。
  • getUTCMinutes():根据世界时从Date对象返回Date对象的分钟(0~59)。
  • getUTCSeconds():根据世界时从Date对象返回Date对象的秒数(0~59)。
  • getUTCMilliseconds():根据世界时从Date对象返回Date对象的毫秒(0~999)。
  • parse():返回1970年1月1日无业到指定日期(字符串)的毫秒数。
  • setDate():设置Date对象中月的某一天(1~31)。
  • setMonth():设置Date对象中月的月份(0~11)。
  • setYear():设置Date对象中月的年份(四位数字)。
  • setHours():设置Date对象中月的小时(0~23)。
  • setMinutes():设置Date对象中月的分钟(0~59)。
  • setSeconds():设置Date对象中月的秒钟(0~59)。
  • setMilliseconds():设置Date对象中月的毫秒(0~999)。
  • setTime():以毫秒设置Date对象。
  • setUTCDate():根据世界时间设置Date对象中月份的第一天(1~31)。
  • setUTCMonth():根据世界时间设置Date对象中的月份(0~11)。
  • setUTCFullYear():根据世界时间设置Date对象中年份(四位数字)。
  • setUTCHours():根据世界时间设置Date对象中的小时(0~23)。
  • setUTCMinutes():根据世界时间设置Date对象中分钟(0~59)。
  • setUTCSeconds():根据世界时间设置Date对象中秒钟(0~59)。
  • setUTCMilliseconds():根据世界时间设置Date对象中的毫秒(0~999)。
  • toSource():返回该对象的源代码。
  • toString():把Date对象转换为字符串。
  • toTimeString():把Date对象的时间部分转换为字符串。
  • toDateString():把Date对象的日期部分转换为字符串。
  • toGMTString():请使用UTCString()方法代替。
  • toUTCString():根据世界时,把Date对象转换为字符串。
  • toLocalTimeString():根据本地时间格式,把Date对象的时间部分转换为字符串。
  • toLocalDatetring():根据本地时间格式,把Date对象的日期部分转换为字符串。
  • UTC():根据世界时返回1970年1月1日到指定日期的毫秒数。
  • valueOf():返回Date对象的原始值。

其中,上述方法大致可以分为以下4类。

  • getXXX方法:用于在Date对象中返回日期和时间值。
  • setXXX方法:用于设置Date对象中的时间和日期值。
  • toXXX方法:用于从Date对象中返回日期和时间的字符串值。
  • parse和UTC方法:用于对Date字符串进行分析。

他们都是对Date对象本身使用,通常呗成为静态成员方法。具体语法如下:

//将参数表示的日期转换为整数,其值等于1970年1月1日00:00:00计算起的毫秒数
Date.parse(字符串参数)
//将数值参数表示的日期转换为一个整数,其值等于1970年1月1日00:00:00计算起的毫秒数
Date.UTC(year,mouth,date,hour,minute,second)

下面用一个简单的例子,对Date对象中的关键方法进行测试:

<script type="text/javascript">
    function startTime(){
        var today = new Date();     //创建Date对象today
        var h = today.getHours();   //获得当前时间对象的小时
        var m = today.getMinutes(); //获取当前时间对象的分钟数
        var s = today.getSeconds(); //获取当前时间对象的秒数
        //方法checkTime方法的调用,如果当前分钟数小于10,前面加0
        m = checkTime(m);
        //方法checkTime方法的调用,如果当前秒数小于10,前面加0
        s = checkTime(s);
        document.getElementById('txt').innerHTML = h + ":" + m + ":" + s;
        t = setTimeout('startTime()',500)   //设置刷新频率
    }
    function checkTime(i){
        if(i<10){
            i = "0" + i;
        }
        return i;
    }
</script>
<body onload="startTime()">
    <div id = "txt"></div>
</body>

运行程序,得到的结果类似于: 

21:57:49
 
上面的程序中,先将Date对象实例化,获取当前时间,此时时间包含年、月、日、小时、分钟和秒,但是程序要获取的是一个仅仅包括小时、分钟和秒的简单时间,因此通过Date的一些方法,将前面不需要的时间去掉,从而得出正确的结果。