---
order: 4
---

# 🧮 计算相差值

## diffSeconds()

### 计算两个日期相差的秒数

#### 参数

|      参数      |           描述            |    是否必须     |
|:------------:|:-----------------------:|:-----------:|
|   datetime   | 要计算的时间 (任意类型的字符串时间或时间戳) |     必须      |
| new_datetime | 要比较的时间 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 两个日期相差的秒数

#### 示例代码

```php
/* 计算以下两个日期相差的秒数 */
TimeHelper::diffSeconds('2023-9-1 12:00:00', 'Sep 9, 2023 12:00:00')
// 777600

/* 计算以下时间与当前时间相差的秒数 */
TimeHelper::diffSeconds(1717223549);
// 3072
```

## diffMinutes()

### 计算两个日期相差的分钟数

#### 参数

|      参数      |           描述            |    是否必须     |
|:------------:|:-----------------------:|:-----------:|
|   datetime   | 要计算的时间 (任意类型的字符串时间或时间戳) |     必须      |
| new_datetime | 要比较的时间 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 两个日期相差的分钟数

#### 示例代码

```php
/* 计算以下两个日期相差的分钟数 */
TimeHelper::diffMinutes('Sep 1, 2023 12:00:00', '2023-9-10 12:00:00');
// 12960

/* 计算以下时间与当前时间相差的分钟数 */
TimeHelper::diffMinutes(1717223549);
// 30
```

## diffHours()

### 计算两个日期相差的小时数

#### 参数

|      参数      |           描述            |    是否必须     |
|:------------:|:-----------------------:|:-----------:|
|   datetime   | 要计算的时间 (任意类型的字符串时间或时间戳) |     必须      |
| new_datetime | 要比较的时间 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 两个日期相差的小时数

#### 示例代码

```php
/* 计算以下两个日期相差的小时数 */
TimeHelper::diffHours('2023-9-1 12:00:00', '2023-9-10 12:00:00');
// 216

/* 计算以下时间与当前时间相差的小时数 */
TimeHelper::diffHours('2023-9-1 12:00:00');
// 36
```

## diffDays()

### 计算两个日期相差的天数

#### 参数

|      参数      |           描述            |    是否必须     |
|:------------:|:-----------------------:|:-----------:|
|   datetime   | 要计算的时间 (任意类型的字符串时间或时间戳) |     必须      |
| new_datetime | 要比较的时间 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 两个日期相差的天数

#### 示例代码

```php
/* 计算以下两个日期相差的天数 */
TimeHelper::diffDays('2023-9-1 12:00:00', '2024-9-1 12:00:00');
// 366

/* 计算以下时间与当前时间相差的天数 */
TimeHelper::diffDays('2023-9-1 12:00:00');
// 30
```

## diffWeeks()

### 计算两个日期相差的周数

#### 参数

|      参数      |           描述            |    是否必须     |
|:------------:|:-----------------------:|:-----------:|
|   datetime   | 要计算的时间 (任意类型的字符串时间或时间戳) |     必须      |
| new_datetime | 要比较的时间 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 两个日期相差的周数

#### 示例代码

```php
/* 计算以下两个日期相差的周数 */
TimeHelper::diffWeeks('2023-9-1 12:00:00', 'Sep 8, 2023');
// 1
```

## diffMonths()

### 计算两个日期相差的月数

#### 参数

|      参数      |           描述            |    是否必须     |
|:------------:|:-----------------------:|:-----------:|
|   datetime   | 要计算的时间 (任意类型的字符串时间或时间戳) |     必须      |
| new_datetime | 要比较的时间 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 两个日期相差的月数

#### 示例代码

```php
/* 计算以下两个日期相差的月数 */
TimeHelper::diffMonths(1693540800, '2024-9-1 12:00:00');
// 12
```

## diffYears()

### 计算两个日期相差的年数

#### 参数

|      参数      |           描述            |    是否必须     |
|:------------:|:-----------------------:|:-----------:|
|   datetime   | 要计算的时间 (任意类型的字符串时间或时间戳) |     必须      |
| new_datetime | 要比较的时间 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 两个日期相差的年数

#### 示例代码

```php
/* 计算以下两个日期相差年数 */
TimeHelper::diffYears(1693540800, 1756699200);
// 2
```

## compare()

### 比较两个时间的大小

#### 参数

|      参数      |           描述            |    是否必须     |
|:------------:|:-----------------------:|:-----------:|
|   datetime   | 要计算的时间 (任意类型的字符串时间或时间戳) |     必须      |
| new_datetime | 要比较的时间 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 如果第一个时间大于第二个时间则返回1,小于则返回-1,相等时则返回0

#### 示例代码

```php
/* 比较以下两个时间的大小 */
TimeHelper::compare('2023-9-1 12:00:00', '2023-8-1 12:00:00');
// 1

/* 计算以下时间是否大于当前时间 */
TimeHelper::compare('2023-9-1 12:00:00');
//-1
```