JavaScript学习-Date类型

来源:互联网 发布:房产租赁企业软件 编辑:程序博客网 时间:2024/06/05 20:44

1,介绍

ECMAScript中的Date类型使用UTC(Coordinated Universal Time,国际协调时间)1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。

2,创建

  1. 不传递参数
    新创建的对象获得当前日期和时间。
    var now = new Date();
  2. 传表示日期的毫秒数(即从UTC时间1970年1月1日午夜起至该日期经过的毫秒数),为了简化计算毫秒数这一计算过程,ECMAScript提供了两个方法:Date.parse()和Date.UTC()。
  3. 直接将表示日期的字符串传递给Date构造函数,会在后台调用Date.parse()。

3,Date.parse()方法

接收一个表示日期的字符串参数。ECMA-262没有定义Date.parse()应该支持那种日期格式,这个方法的实现通常因地区而异。

  1. 将地区设置为美国的浏览器通常都接受下列日期格式:
    • “月/日/年”,入6/13/2004;
    • “英文月名 日,年”,如January 12,2004;
    • “英文星期几英文月名 日 年 时:分:秒 时区”,入Tue May 25 2004 00:00:00 GMT:0700。
    • 例:var someDate = new Date(Date.parse("May 25,2004"));
  2. 如果传入的参数字符串不能表示日期,那么它会返回NaN。

4,Date.UTC()方法

所传参数,只有前两个(年和月)是必须的。如果没有提供月中的天数,则假设天数为1。如果省略其他参数,则统统假设为0。参数分别如下所示:

  1. 年份
  2. 基于0的月份(一月是0,二月是1,以此类推)。
  3. 月中的哪一天(1到31)。
  4. 小时数(0到23)。
  5. 分钟。
  6. 秒。
  7. 毫秒数。

5,Date.now()方法

ECMAScript 5添加了Date.now()方法,返回表示调用这个方法时的日期和时间毫秒数。

  • 代码示例:

    var start = Date.now();doSomething();var stop = Date.now();result = stop - start;
  • 在不支持该方法的浏览其中,使用+操作符获取Date对象的时间戳,代码示例:

    var start = +new Date();doSomething();var stop= +new Date();result = stop - start;

6,继承的方法

与其他引用类型一样,Date类型也重写了toLocaleString(),toString(),和valueOf()方法。

  • toLocaleString(),toString()方法因浏览器而异,各浏览器之间的区别见《JavaScript高级程序设计》p100。
  • valueOf()方法,不返回字符串,而是返回日期的毫秒数。因此,使用比较操作符来比较日期值。

7,日期格式化方法

以下没有哪一个方法能够用来在用户界面中显示一致的日期信息。

  • toDateString() 以特定于实现的格式显示星期几,月,日和年;
  • toTimeString() 以特定于实现的格式显示时,分,秒和时区;
  • toLocaleDateString() 以特定于地区的格式显示星期几,月,日和年;
  • toLocaleTimeString() 以特定于实现的格式显示时,分,秒;
  • toUTCString() 以特定于实现的格式完整的UTC日期。

8,日期/时间组件方法

见《JavaScript高级程序设计》p102。

0 0
原创粉丝点击