JavaScript Date及Number对象

本文介绍了JavaScript中Date对象的创建、使用方法及其属性,并详细解释了如何获取和设置日期及时间信息。同时,还探讨了Number对象的创建方式、属性和方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以说,JS中所有事物都是对象。这是一门基于对象的语言。里面的字符串,数组,函数,日期乃至数字都是对象。对象实际上就是一种带有属性和方法的数据类型。

Date对象

日期和时间,在Web应用中随处可见,也必不可少。JS脚本内置了Date对象,该对象为我们提供了一些列操作时间和日期的方法。

JS的时间标准

以GTM时间1970年1月1日零点为标准零点,JS脚本中采用UNIX系统存储的时间,存储从标准零点到当前系统时间的毫秒数。注意,JS在读取当前时间时,依赖于客户端的系统时间,如果客户端系统时间有误,可能会带来一定的问题。

构造当前时间对象

构造当前时间对象主要有以下4中方法:

var MyDate = new Date()
var MyDate = new Date(milliseconds)
var MyDate = new Date(string)
var MyDate = new Date(y, m, d, h, min, sec, ms)

以上第一种方法生成一个空的Date对象,默认情况下代表当前客户端时间。

第二种方法传入唯一的参数milliseconds,创建距离标准时间零点milliseconds毫秒的时间对象。

第三种方法传入特定格式的字符串,创建由该字符串指定日期的Date对象。

第四种方法分别传入年、月、日、小时、分钟、秒、毫秒。

获取时间对象信息

获取时间信息常用的方法有:

getTime()  //返回标准零点到当前系统时间的毫秒数
getFullYear()  //返回四位数的年份
getMonth()  //返回月份,注意1月对应数字0。
getDate()  //返回日,1号对应数字1。
getHours()  //返回二十四小时制的小时数
getMinutes()  //返回分钟数
getSeconds()  //返回秒数
getMilliseconds()  //返回毫秒数
getDay()  //返回星期数,注意周日对应数字0,周六对应数字6。
    <script language="JavaScript" type="text/javascript">
      <!--
      function MyTimer() {
        var MyDate = new Date();

        var milliseconds = MyDate.getTime();

        var y = MyDate.getFullYear();
        var m = MyDate.getMonth();
        var d = MyDate.getDate();
        var h = MyDate.getHours();
        var min = MyDate.getMinutes();
        var s = MyDate.getSeconds();
        var ms = MyDate.getMilliseconds();

        var week = MyDate.getDay();

        var msg = "milliseconds" + " " + milliseconds + "\n" +
                  "y" + " " + y + "\n" +
                  "m" + " " + m + "\n" +
                  "d" + " " + d + "\n" +
                  "h" + " " + h + "\n" +
                  "min" + " " + min + "\n" +
                  "s" + " " + s + "\n" + 
                  "ms" + " " + ms + "\n" +
                  "week" + " " + week;

        alert(msg);
      }
      -->
    </script>

输出如下:

特别注意,getMonth()返回的月份,1月对应数字0,二月三月依次类推。getDay()返回的星期数,周日对应数字0,周一周二依次类推。

设置时间对象信息

和获取当前时间信息对应,要设置当前时间信息,只需要把“获取”方法的get换为set即可。

setTime(ms)  //以距离标准零点的毫秒数设置Date对象
setFullYear()  //四位数设置年份
setMonth()  //设置月份,注意1月对应数字0。
setDate()  //设置日,1号对应数字1。
setHours()  //设置二十四小时制的小时数
setMinutes()  //设置分钟数
setSeconds()  //设置秒数
setMilliseconds()  //设置毫秒数
setDay()  //设置星期数,注意周日对应数字0,周六对应数字6。

示例:

    <script language="JavaScript" type="text/javascript">
      <!--
      function MyTimer() {
        var MyDate = new Date();

        var y = MyDate.setFullYear(2016);
        var m = MyDate.setMonth(0);
        var d = MyDate.setDate(31);
        var h = MyDate.setHours(23);
        var min = MyDate.setMinutes(3);
        var s = MyDate.setSeconds(5);
        var ms = MyDate.setMilliseconds(344);

        var y = MyDate.getFullYear();
        var m = MyDate.getMonth();
        var d = MyDate.getDate();
        var h = MyDate.getHours();
        var min = MyDate.getMinutes();
        var s = MyDate.getSeconds();
        var ms = MyDate.getMilliseconds();

        var week = MyDate.getDay();

        var msg = "y" + " " + y + "\n" +
                  "m" + " " + m + "\n" +
                  "d" + " " + d + "\n" +
                  "h" + " " + h + "\n" +
                  "min" + " " + min + "\n" +
                  "s" + " " + s + "\n" + 
                  "ms" + " " + ms + "\n" +
                  "week" + " " + week;

        alert(msg);
      }
      -->
    </script>

以上代码,我们设置了日期为2016年,1月,31号,此时系统会帮我们算出当前日期对应周日。输出如下:

日期信息转换为字符串

toString()  //返回当前时间字符串
toLocaleString()  //由客户端日期格式返回日期字符串,注意不是toLocalString()
toUTCString()  //以UTC格式返回日期字符串

为了体现出toString和toLocaleString的不同,在试验之前将本地时间显示模式改为了下午 03:20 2016/3/30。示例:

    <script language="JavaScript" type="text/javascript">
      <!--
      function MyTimer() {
        var MyDate = new Date();

        var msg = "toString          " + MyDate.toString() + "\n" +
                  "toLocaleString     " + MyDate.toLocaleString() + "\n" +
                  "toUTCString       " + MyDate.toUTCString();

        alert(msg);
      }
      -->
    </script>

输出为:

再次强调,toLocaleString()方法不要误写为toLocalString()。

Number对象

创建Nubmer对象

var MyDate = new Number()  //创建默认值为0的Number对象
var MyDate = new Number(num)  //创建值为num的Number对象

MAX_VALUE属性

该属性表示脚本所支持的最大值,我们可以把它以及它的倒数打印出来:

    <script language="JavaScript" type="text/javascript">
      <!--
      function MyNumber() {
        var MyData = new Number(Number.MAX_VALUE);
        var num = 1/MyData;
        var msg = "MAX " + MyData + "\n" +
                  "1/MAX " + num;

        alert(msg);
      }
      -->
    </script>

输出:

MIN_VALUE属性

类比MAX_VALUE属性。

POSITIVE_INFINITY属性

表示正无穷大,注意正无穷大是一个数学上的概念,和脚本支持的最大数MAX_VALUE不是一回事。作为区分我们把它以及其倒数打印出来:

    <script language="JavaScript" type="text/javascript">
      <!--
      function MyNumber() {
        var MyData = new Number(Number.POSITIVE_INFINITY);
        var num = 1/MyData;
        var msg = "+INFINITY " + MyData + "\n" +
                  "1/+INFINITY " + num;

        alert(msg);
      }
      -->
    </script>

输出:

NEGATIVE_INFINITY属性

类比POSITIVE_INFINITY属性。

toString方法

该方法可以将一个Number对象转化为一个String对象,进而进行String对象的一系列操作。例如:

    <script language="JavaScript" type="text/javascript">
      <!--
      function MyNumber() {
        var MyData = new Number(56);
        MyData = MyData.toString();
        MyData = MyData.concat(" Peaples are there in China!");

        alert(MyData);
      }
      -->
    </script>

输出:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值