---
order: 5
---

# 🍋 获取前后时间戳

## beforeMinute()

### 获取指定时间N分钟前的时间戳

#### 参数

|    参数    |             描述             |     是否必须     |
|:--------:|:--------------------------:|:------------:|
|  minute  |            分钟数             |  可选, 默认为1分钟  |
| datetime | 从指定时间开始计算 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该分钟的0秒开始计算  | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N分钟前的时间戳

#### 示例代码

```php
/* 获取指定时间3分钟前0秒的时间戳 */
TimeHelper::beforeMinute(3,'2022-3-2 10:15:33',true);
// 1646187120

/* 获取指定时间10分钟前的时间戳 */
TimeHelper::beforeMinute(10,'2022-3-2 10:15:33');
// 1646186733

/* 获取5分钟前的时间戳 */
TimeHelper::beforeMinute(5);
// 1698734495
```

## afterMinute()

### 获取指定时间N分钟后的时间戳

#### 参数

|    参数    |             描述             |     是否必须     |
|:--------:|:--------------------------:|:------------:|
|  minute  |            分钟数             |  可选, 默认为1分钟  |
| datetime | 从指定时间开始计算 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该分钟的0秒开始计算  | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N分钟后的时间戳

#### 示例代码

```php
/* 获取指定时间20分钟后的时间戳 */
TimeHelper::afterMinute(20,'2022-3-2 10:15:33');
// 1646188533

/* 获取1分钟后的时间戳 */
TimeHelper::afterMinute();
// 1698734495
```

## beforeHour()

### 获取指定时间N小前的时间戳

#### 参数

|    参数    |             描述              |     是否必须     |
|:--------:|:---------------------------:|:------------:|
|   hour   |             小时数             |  可选, 默认为1小时  |
| datetime | 从指定时间开始计算 (任意类型的字符串时间或时间戳)  | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该小时的0分0秒开始计算 | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N小时前的时间戳

#### 示例代码

```php
/* 获取3小时前的0分0秒开始计算的时间戳 */
TimeHelper::beforeHour(3,null,true);
// 1698734495

/* 获取指定时间1小时前的时间戳(请注意此处为php8之后的用法) */
TimeHelper::beforeHour(datetime:'Apr 11, 2020');
// 1586534400
```

## afterHour()

### 获取指定时间N小后的时间戳

#### 参数

|    参数    |             描述              |     是否必须     |
|:--------:|:---------------------------:|:------------:|
|   hour   |             小时数             |  可选, 默认为1小时  |
| datetime | 从指定时间开始计算 (任意类型的字符串时间或时间戳)  | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该小时的0分0秒开始计算 | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N小时后的时间戳

#### 示例代码

```php
/* 返回2小时后的时间戳 */
TimeHelper::afterHour(2);
// 1698734495
```

## beforeDay()

### 获取指定时间N天前的时间戳

#### 参数

|    参数    |              描述              |     是否必须     |
|:--------:|:----------------------------:|:------------:|
|   day    |              天数              |  可选, 默认为1天   |
| datetime |  从指定时间开始计算 (任意类型的字符串时间或时间戳)  | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该天的0点0分0秒开始计算 | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N天前的时间戳

#### 示例代码

```php
/* 获取15天前0点的时间戳 */
TimeHelper::beforeDay(15,null,true);
// 1698734495

/* 获取指定时间3天前的时间戳 */
TimeHelper::beforeDay(3,1698734495);
// 1698475295
```

## afterDay()

### 获取指定时间N天后的时间戳

#### 参数

|    参数    |              描述              |     是否必须     |
|:--------:|:----------------------------:|:------------:|
|   day    |              天数              |  可选, 默认为1天   |
| datetime |  从指定时间开始计算 (任意类型的字符串时间或时间戳)  | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该天的0点0分0秒开始计算 | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N天后的时间戳

#### 示例代码

```php
/* 获取15天后的时间戳 */
TimeHelper::afterDay(15);
// 1698483295
```

## beforeWeek()

### 获取指定时间N周前的时间戳

#### 参数

|    参数    |             描述             |    是否必须     |
|:--------:|:--------------------------:|:-----------:|
|   week   |             周数             |  可选, 默认为1周  |
| datetime | 从指定时间开始计算 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 从指定之间开始计算,N周前的时间戳

#### 示例代码

```php
/* 获取指定时间2周前的时间戳 */
TimeHelper::beforeWeek(2,'2022-4-24 23:01:11');
// 1649602871
```

## afterWeek()

### 获取指定时间N周后的时间戳

#### 参数

|    参数    |             描述             |    是否必须     |
|:--------:|:--------------------------:|:-----------:|
|   week   |             周数             |  可选, 默认为1周  |
| datetime | 从指定时间开始计算 (任意类型的字符串时间或时间戳) | 可选, 默认为当前时间 |

#### 返回值

> 从指定之间开始计算,N周后的时间戳

#### 示例代码

```php
/* 获取一周后的时间戳 */
TimeHelper::afterWeek();
// 1698734495
```

## beforeMonth()

### 获取指定时间N月前的时间戳

#### 参数

|    参数    |               描述               |     是否必须     |
|:--------:|:------------------------------:|:------------:|
|  month   |               月数               |  可选, 默认为1个月  |
| datetime |   从指定时间开始计算 (任意类型的字符串时间或时间戳)   | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该月的1日0点0分0秒开始计算 | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N月前的时间戳

#### 示例代码

```php
/* 获取以下时间1个月前的时间戳(请注意此处为php8之后的用法) */
TimeHelper::beforeMonth(datetime:1646360133);
// 1643940933

/* 获取2个月前1日0点0分的时间戳 */
TimeHelper::beforeMonth(2,null,true);
// 1698734495

/* 获取3个月前的时间戳 */
TimeHelper::beforeMonth(3);
// 1698624481
```

## afterMonth()

### 获取指定时间N月后的时间戳

#### 参数

|    参数    |               描述               |     是否必须     |
|:--------:|:------------------------------:|:------------:|
|  month   |               月数               |  可选, 默认为1个月  |
| datetime |   从指定时间开始计算 (任意类型的字符串时间或时间戳)   | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该月的1日0点0分0秒开始计算 | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N月后的时间戳

#### 示例代码

```php
/* 获取5个月后的时间戳 */
TimeHelper::afterMonth(5);
// 1698734495

/* 获取下个月1日0点0分的时间戳(请注意此处为php8之后的用法) */
TimeHelper::afterMonth(round:true);
// 1643940933
```

## beforeYear()

### 获取指定时间N年前的时间戳

#### 参数

|    参数    |                描述                |     是否必须     |
|:--------:|:--------------------------------:|:------------:|
|   year   |                年数                |  可选, 默认为1年   |
| datetime |    从指定时间开始计算 (任意类型的字符串时间或时间戳)    | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该年的1月1日0点0分0秒开始计算 | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N年前的时间戳

#### 示例代码

```php
/* 获取指定时间3年前的时间戳 */
TimeHelper::beforeYear(3,'2022-7-11');
// 1562774400

/* 获取明年1月1日0点0分0秒的时间戳 */
TimeHelper::beforeYear(0,null,true);
// 1640995200
```

## afterYear()

### 获取指定时间N年后的时间戳

#### 参数

|    参数    |                描述                |     是否必须     |
|:--------:|:--------------------------------:|:------------:|
|   year   |                年数                |  可选, 默认为1年   |
| datetime |    从指定时间开始计算 (任意类型的字符串时间或时间戳)    | 可选, 默认为当前时间  |
|  round   | 是否取整,如果为true,则从该年的1月1日0点0分0秒开始计算 | 可选, 默认为false |

#### 返回值

> 从指定之间开始计算,N年后的时间戳

#### 示例代码

```php
/* 获取2年后的时间戳 */
TimeHelper::afterYear(2);
// 1698734495
```