javascript系列之Date对象

本文详细介绍了JavaScript中的Date对象,包括其创建方式(newDate(),milliseconds,datestring等),属性(如year,month等)和方法(如getDate(),getFullYear()等),以及Date的静态方法Date.parse()和Date.UTC()的用法。

一.欢迎来到我的酒馆

       Date对象是javascript语言内置的数据类型。使用new Date()创建Date对象。一旦创建了对象,有很多方法可以操作。通过使用本地时间或UTC或GMT时间,大部分方法可以简单的获取和设置字段:year, month, day, hour, minute,second,millisecond。ECMAScript标准要求Date对象可以代表任何日期和时间,达到毫秒的精度,在1970年1月1日之后1亿天。这个区间是±273785年,因此JavaScript能代表的日期最大为275755年。

二.创建Date对象语法

2.1 你可以使用下面的语法来创建Date对象:

new Date()
new Date(milliseconds)
new Date(datestring)
new Date(year,month,date[,hour,minute,second,millisecond])

中括号里面的参数是可选的。
关于这些参数的描述:

  • 不写参数。创建Date对象不写参数表示当前日期和时间。

  • milliseconds。当一个数字参数传入,它被视为日期内部数字表示形式(以毫秒为单位),由getTime()方法返回。例如,传递参数5000会创建一个日期,该日期表示1970/1/1午夜过后5秒。

  • datestring。当一个字符串传入时,它是日期字符串的表示形式,这时候,可以使用方法Date.parse()。

  • 7个参数。使用最后一种格式的构造器。下面是对每个参数的介绍:

    • year。整数值代表年份的整形数字。为了兼容性,你应该总是指定完整的年份,如1998,而不要写成98。
    • month。整数值代表月份的整形数字。从0开始。0代表一月,11代表12月。
    • date。整数值代表一个月内的日期值。
    • hour。整数值代表一天内的小时数,使用24小时格式。
    • minute。整数值代表分钟数。
    • second。整数值代表秒数。
    • millisecond。整数值代表毫秒数。

2.2 Date对象的属性

No.属性说明
1constructor指定创建一个对象的原型。
2prototypeprototype属性允许你将属性和方法添加到一个对象上。

案例1:使用对象的constructor属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script type="text/javascript">
        let date = new Date(5000);
        document.write(date.toString() + "<br/>");
        document.write(date.constructor+ "<br/>");
    </script>
</body>
</html>

输出:

Thu Jan 01 1970 08:00:05 GMT+0800 (GMT+08:00)
function Date() { [native code] }

案例2:使用对象的prototype属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        function Book(title,author){
            this.title = title;
            this.author = author;
        }
    </script>
</head>
<body>
    <script type="text/javascript">
        let myBook = new Book("javascript","Michael");
        Book.prototype.price = null;
        myBook.price = 100;

        document.write("Book's title is: " + myBook.title + "<br/>");
        document.write("Book's author is: " + myBook.author + "<br/>");
        document.write("Book's price is: "+ myBook.price + "<br/>");
    </script>
</body>
</html>

输出:

Book's title is: javascript
Book's author is: Michael
Book's price is: 100

2.3 Date对象的方法

No.方法描述
1Date()返回一个日期对象,表示今天的日期和时间。
2getDate()按照当地时间返回指定日期的月份的天数,返回的数为整数,介于1到31之间。
3getDay()按照当地时间返回指定日期的星期的天数,返回的数为整数,0代表星期天,1代表星期一,2代表星期二。
4getFullYear()按照当地时间返回指定日期的年份。
5getHours()按照当地时间返回指定日期的小时数。
6getMilliseconds()按照当地时间返回指定日期的毫秒数。
7getMinutes()按照当地时间返回指定日期的分钟数。
8getMonth()按照当地时间返回指定日期的月份数。
9getSeconds()按照当地时间返回指定日期的秒数。
10getTime()返回一个毫秒数,自从1970/1/1 0:0:0开始到指定日期的毫秒数。
11getTimezoneOffset()返回一个当前时区抵消值。这个时区抵消值是一个分钟数,表示格林尼治平均时。如果你的时区是GMT+10, 这个时区抵消值将返回-600.
12getUTCDate()按照世界时间返回指定日期的月份的天数,返回值是一个数字类型,介于1到31.
13getUTCDay()按照世界时间返回指定日期的星期数。
14getUTCFullYear()按照世界时间返回指定日期的年份。
15getUTCHours()按照世界时间返回指定日期的小时数。
16getUTCMilliseconds()按照世界时间返回指定日期的毫秒数。
17getUTCMinutes()按照世界时间返回指定日期的分钟数。
18getUTCMonth()按照世界世界返回指定日期的月份数。
19getUTCSeconds()按照世界时间返回指定日期的秒数。
20getYear()按照当地时间返回指定日期的年份数,这个方法不推荐使用,推荐使用getFullYear()。
21setDate()按照当地时间设置指定日期的天数。参数为1到31,表示月份的天数。
22setFullYear()按照当地时间设置指定日期的年份数。
23setHours()按照当地时间设置指定日期的小时数。
24setMillisends()按照当地时间设置指定日期的毫秒数。
25setMinutes()按照当地时间设置指定日期的分钟数。
26setMonth()按照当地时间设置指定日期的月份数。
27setSeconds()按照当地时间设置指定日期的秒数。
28setTime()设置一个自从1970/1/1 0:0:0 UTC以来由毫秒数表示的时间。
29setUTCDate()按照世界时间设置指定日期的月份的天数。
30setUTCFullYear()按照世界时间设置指定日期的年份。
31setUTCHours()按照世界时间设置指定日期的小时数。
32setUTCMilliseconds()按照世界时间设置指定日期的毫秒数。
33setUTCMinutes()按照世界时间设置指定日期的分钟数。
34setUTCMonth()按照世界时间设置指定日期的月份数。
35setUTCSeconds()按照世界时间设置指定日期的秒数。
36setYear()按照当地时间设置指定时间的年份,这个方法不推荐使用,推荐使用setFullYear()。
37toDateString()返回人能读懂的日期。
38toGMTString()将一个日期对象转换为字符串,这个方法不推荐使用,推荐使用toUTCString()。
39toLocaleDateString()将一个日期对象转换为字符串,使用操作系统的区域设置约定返回date部分。
40toLocaleFormat()将一个日期对象转换为字符串。
41toLocaleString()将一个日期对象转换为字符串,使用操作系统本地的格式。
42toLocaleTimeString()将一个日期转换为字符串,按照正在运行当前脚本的操作系统的格式显示。
43toSource()这个方法返回一个表示源代码的字符串,这个方法可能存在兼容性问题。
44toString()返回一个表示日期对象的字符串。
45toTimeString()返回一部分日期字符串,人能读懂的字符串格式。
46toUTCString()将一个日期转换为字符串,使用世界世界格式。
47valueOf()返回一个自1970/1/1 0:0:0到现在的毫秒数。

三.Date的静态方法

和之前列出的许多实例方法一样,Date对象也有两个静态方法,这些方法通过Date()构造器调用。

No.方法描述
1Date.parse()传入一个日期字符串,返回自1970/1/1 0:0:0到指定日期的毫秒值。
2Date.UTC()按照世界时间返回自1970/1/1 0:0:0到指定日期的毫秒值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值