<1> Date(日期) 对象

JavaScript 的 Date 对象用于处理日期和时间。它是 JavaScript 中内置的对象之一,它使得我们可以通过编写 JavaScript 代码来处理日期和时间,从而实现了很多与日期时间相关的功能。

## Date 对象的创建

创建 Date 对象的方式有很多种,最常用的三种方式如下:

```javascript

// 1. 不带参数

var now = new Date();

console.log(now);

// 2. 传递时间戳参数

var timeStamp = Date.now();

var date = new Date(timeStamp);

console.log(date);

// 3. 传递表示日期时间的字符串

var str = '2021-01-01 00:00:00';

var date = new Date(str);

console.log(date);

```

第一种方式创建一个 Date 对象时,会返回当前日期和时间的对象,即系统当前时间。第二种方式通过传递一个时间戳参数来创建一个 Date 对象,可以用 `Date.now()` 获取当前时间的时间戳,也可以使用 `new Date().getTime()` 获取当前时间的时间戳。第三种方式则是传递一个表示日期时间的字符串来创建一个 Date 对象。

## Date 对象的属性

Date 对象有很多属性,以下是它们的详细介绍:

- `getDate()`:获取当前月份的日期(1 - 31)。

- `getDay()`:获取当前日期是星期几(0 - 6,星期日为 0)。

- `getMonth()`:获取当前月份(0 - 11)。

- `getFullYear()`:获取当前年份的四位数字。

- `getHours()`:获取当前时间的小时数(0 - 23)。

- `getMinutes()`:获取当前时间的分钟数(0 - 59)。

- `getSeconds()`:获取当前时间的秒数(0 - 59)。

- `getTime()`:获取从 1970 年 1 月 1 日至今的毫秒数。

- `getTimezoneOffset()`:获取本地时间与 GMT 时间相差的分钟数。

- `setDate(dayValue)`:设置月份中的某一天(1 - 31)。

- `setMonth(monthValue)`:设置月份(0 - 11)。

- `setFullYear(yearValue)`:设置年份的四位数字。

- `setHours(hourValue)`:设置时间的小时数(0 - 23)。

- `setMinutes(minuteValue)`:设置时间的分钟数(0 - 59)。

- `setSeconds(secondValue)`:设置时间的秒数(0 - 59)。

- `setTime(milliseconds)`:设置日期和时间,接收一个毫秒参数。

- `toDateString()`:把日期转换成字符串,不包括具体时间,格式为 "Mon Nov 30 2020"。

- `toLocaleDateString()`:把日期转换成本地字符串,不包括具体时间,格式为 "2020/11/30"。

- `toLocaleTimeString()`:将时间转换为本地字符串,不包括日期,格式为 "11:55:00 AM"。

## Date 对象的方法

Date 对象的方法比属性更多,主要都是用于获取日期时间、格式化等方面。下面就是一些常用的方法:

- `toUTCString()`:按照 GMT 标准输出日期时间字符串,格式为 "Wed, 03 Sep 2025 22:05:27 GMT"。

- `toGMTString()`:同样是按照 GMT 标准输出日期时间字符串,格式为 "Wed, 03 Sep 2025 22:05:27 GMT"。

- `toLocaleString()`:返回字符串,代表当前的日期和时间。格式按照用户的本地浏览器格式,默认为 "en-US"。例如 "2025/9/3 下午6:05:27"。

- `toString()`:将日期转换为字符串格式,格式为 "Wed Sep 03 2025 22:05:27 GMT+0800"。

- `toISOString()`:与 `toString()` 方法类似,只不过返回的是一个 UTC 格式的日期字符串,格式为 "2025-09-03T14:05:27.123Z"。

- `valueOf()`:返回从 1970 年 1 月 1 日至今的毫秒数。

- `getDate()`:返回当前月份的日期数。

- `getDay()`:返回当前日期是在星期几,返回值是 0 - 6,分别代表星期日 - 星期六。

- `getMonth()`:返回当前月份的数值,返回值是 0 - 11,分别代表 1 月 - 12 月。

- `getFullYear()`:返回当前的完整年份(四位数)。

- `getHours()`:返回当前时间的小时数(0 - 23)。

- `getMinutes()`:返回当前时间的分钟数(0 - 59)。

- `getSeconds()`:返回当前时间的秒数(0 - 59)。

- `getMilliseconds()`:返回当前时间的毫秒数(0 - 999)。

- `getTime()`:返回从 1970 年 1 月 1 日至今的毫秒数。

- `setDate()`:设置当前月份的日期数。

- `setMonth()`:设置当前月份的数值。

- `setFullYear()`:设置当前年份的四位数。

- `setHours()`:设置当前时间的小时数。

- `setMinutes()`:设置当前时间的分钟数。

- `setSeconds()`:设置当前时间的秒数。

- `setMilliseconds()`:设置当前时间的毫秒数。

- `toLocaleDateString()`:按照本地时间格式返回日期字符串。

- `toLocaleTimeString()`:按照本地时间格式返回时间字符串。

## 案例说明

下面,我们将通过以下案例说明 Date 对象的应用:

### 1. 获取当前日期时间格式化输出

```javascript

var date = new Date();

var yy = date.getFullYear();

var mm = date.getMonth() + 1;

var dd = date.getDate();

var hours = date.getHours();

var minutes = date.getMinutes();

var seconds = date.getSeconds();

if (mm < 10) {

mm = '0' + mm;

}

if (dd < 10) {

dd = '0' + dd;

}

if (hours < 10) {

hours = '0' + hours;

}

if (minutes < 10) {

minutes = '0' + minutes;

}

if (seconds < 10) {

seconds = '0' + seconds;

}

console.log(yy + '-' + mm + '-' + dd + ' ' + hours + ':' + minutes + ':' + seconds);

```

上面的代码实现了获取当前日期时间并格式化输出的功能,其中 `getMonth()` 方法返回的是一个 0 - 11 之间的数字,如果直接使用该数字作为月份会存在计算错误的情况。

### 2. 计算两个日期之间的天数

```javascript

function getDateDiff(date1, date2) {

var startTime = new Date(date1).getTime();

var endTime = new Date(date2).getTime();

var days = Math.abs(parseInt((startTime - endTime) / (1000 * 60 * 60 * 24)));

return days;

}

console.log(getDateDiff('2021-01-01', '2021-02-01')); // 31

```

上面的例子演示了计算两个日期之间的天数,关键是利用 Date 对象获取日期的时间戳并进行计算。

## 结束语

JavaScript 的 Date 对象封装了很多处理日期时间的方法和属性,我们可以使用它来实现很多有关时间的操作。除了上述方法,还可以应用正则表达式、时间随机器、日期的计算等高级技巧来使用 Date 对象。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(63) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部