PHP中strtotime函數(shù)使用方法
在PHP中,有一個(gè)非常實(shí)用的函數(shù)叫做strtotime。這個(gè)函數(shù)可以實(shí)現(xiàn)兩個(gè)功能:獲取某個(gè)日期的時(shí)間戳,或者獲取某個(gè)時(shí)間的時(shí)間戳。通過strtotime函數(shù),我們可以將任何英文文本的日期時(shí)間描述解析為
在PHP中,有一個(gè)非常實(shí)用的函數(shù)叫做strtotime。這個(gè)函數(shù)可以實(shí)現(xiàn)兩個(gè)功能:獲取某個(gè)日期的時(shí)間戳,或者獲取某個(gè)時(shí)間的時(shí)間戳。通過strtotime函數(shù),我們可以將任何英文文本的日期時(shí)間描述解析為Unix時(shí)間戳。
1. 獲取指定日期的Unix時(shí)間戳
通過strtotime函數(shù),我們可以獲取指定日期的Unix時(shí)間戳。例如,我們要獲取2009年1月22日的時(shí)間戳,可以使用以下代碼:
```
echo strtotime("2009-1-22");
```
結(jié)果將會(huì)是:1232553600。這個(gè)時(shí)間戳代表了2009年1月22日0點(diǎn)0分0秒。
2. 獲取英文文本日期時(shí)間
通過strtotime函數(shù),我們還可以獲取英文文本日期時(shí)間。下面是一些示例代碼:
- 打印明天此時(shí)的時(shí)間戳:
```php
echo date("Y-m-d H:i:s", time());
echo date("Y-m-d H:i:s", strtotime("1 day"));
```
當(dāng)前時(shí)間的結(jié)果為:2009-01-22 09:40:25。而指定時(shí)間的結(jié)果為:2009-01-23 09:40:25。
- 打印昨天此時(shí)的時(shí)間戳:
```php
echo date("Y-m-d H:i:s", time());
echo date("Y-m-d H:i:s", strtotime("-1 day"));
```
當(dāng)前時(shí)間的結(jié)果為:2009-01-22 09:40:25。而指定時(shí)間的結(jié)果為:2009-01-21 09:40:25。
- 打印下個(gè)星期此時(shí)的時(shí)間戳:
```php
echo date("Y-m-d H:i:s", time());
echo date("Y-m-d H:i:s", strtotime("1 week"));
```
當(dāng)前時(shí)間的結(jié)果為:2009-01-22 09:40:25。而指定時(shí)間的結(jié)果為:2009-01-29 09:40:25。
- 打印上個(gè)星期此時(shí)的時(shí)間戳:
```php
echo date("Y-m-d H:i:s", time());
echo date("Y-m-d H:i:s", strtotime("-1 week"));
```
當(dāng)前時(shí)間的結(jié)果為:2009-01-22 09:40:25。而指定時(shí)間的結(jié)果為:2009-01-15 09:40:25。
- 打印指定下星期幾的時(shí)間戳:
```php
echo date("Y-m-d H:i:s", time());
echo date("Y-m-d H:i:s", strtotime("next Thursday"));
```
當(dāng)前時(shí)間的結(jié)果為:2009-01-22 09:40:25。而指定時(shí)間的結(jié)果為:2009-01-29 00:00:00。
- 打印指定上星期幾的時(shí)間戳:
```php
echo date("Y-m-d H:i:s", time());
echo date("Y-m-d H:i:s", strtotime("last Thursday"));
```
當(dāng)前時(shí)間的結(jié)果為:2009-01-22 09:40:25。而指定時(shí)間的結(jié)果為:2009-01-15 00:00:00。
通過以上示例,我們可以看出,strtotime函數(shù)可以將任何英文文本的日期時(shí)間描述解析為Unix時(shí)間戳。結(jié)合mktime()或date()函數(shù),我們可以格式化日期時(shí)間并獲取所需的時(shí)間戳。