在 PHP 中,时间的处理是一个非常常见的操作。本文将介绍 PHP 中常用的时间处理函数,以及如何使用它们来处理时间。
一、当前时间
获取当前时间是时间处理中最基本的操作之一,PHP 中有一个内置的函数可以帮助我们获取当前的时间戳。这个函数就是 `time()`。
`time()` 函数会返回当前时间的 Unix 时间戳,即自 1970 年 1 月 1 日 00:00:00 GMT 起已经过去的秒数。下面是一个例子:
```php
echo time();
// 输出类似于 1569265877 这样的时间戳
```
我们还可以使用 `date()` 函数来将时间戳格式化为我们需要的日期格式。例如:
```php
echo date('Y-m-d H:i:s', time());
// 输出类似于 2019-09-23 21:47:57 这样的日期字符串
```
二、时间戳转日期
时间戳转日期也是一个常见的需求。PHP 中有一个 `date()` 函数可以实现此功能。我们可以将时间戳传递给 `date()` 函数,并指定日期格式来转换。例如:
```php
$timestamp = 1569265877;
echo date('Y-m-d H:i:s', $timestamp);
// 输出类似于 2019-09-23 21:47:57 这样的日期字符串
```
三、日期转时间戳
如果我们有一个日期字符串,想要将其转换为时间戳,也可以使用 `strtotime()` 函数。这个函数可以将各种不同格式的日期字符串转换为 Unix 时间戳。
```php
$date_string = '2019-09-23 21:47:57';
$timestamp = strtotime($date_string);
echo $timestamp;
// 输出类似于 1569265877 这样的时间戳
```
需要注意的是,`strtotime()` 函数只支持有限的时间格式。所以如果我们使用了一个无法解析的日期字符串,它有可能会返回一个意料之外的结果。
四、日期加减
有些时候,我们需要对一个日期进行加减运算。PHP 提供了 `strtotime()` 函数来实现这个功能。
`strtotime()` 函数的参数是一个日期字符串和一个可选的时间戳,它会将日期字符串解析为一个日期,并根据第二个参数进行加减运算。
```php
$date_string = '2019-09-23';
$timestamp = strtotime($date_string . ' +1 day');
echo date('Y-m-d', $timestamp);
// 输出类似于 2019-09-24 这样的日期字符串
```
上面的例子中,我们将 2019-09-23 这个日期字符串和 '+1 day' 这个字符串拼接在一起,然后调用 `strtotime()` 函数得到一个时间戳。接着,我们又调用 `date()` 函数将时间戳格式化为日期字符串。
五、计算时间段
如果我们需要计算两个日期之间的时间段,可以使用 `strtotime()` 函数和相减运算符来实现。
```php
$start_date_string = '2019-09-23';
$end_date_string = '2019-09-25';
$start_timestamp = strtotime($start_date_string);
$end_timestamp = strtotime($end_date_string);
$diff = $end_timestamp - $start_timestamp;
echo floor($diff / (60 * 60 * 24)) . ' days';
// 输出 '2 days'
```
以上代码将两个日期字符串分别转换为时间戳,并相减得到一个时间段,然后将该时间段转换为天数并输出。
六、常用日期格式
最后,我们来介绍一些常用的日期格式。
- `Y`:年份,四位数字。例如:2019。
- `y`:年份,两位数字。例如:19。
- `m`:月份,两位数字,补零。例如:09。
- `n`:月份,一到两位数字,不补零。例如:9。
- `d`:日期,两位数字,补零。例如:23。
- `j`:日期,一到两位数字,不补零。例如:23。
- `H`:小时,两位数字,24 小时制,补零。例如:21。
- `h`:小时,两位数字,12 小时制,补零。例如:09。
- `i`:分钟,两位数字,补零。例如:47。
- `s`:秒数,两位数字,补零。例如:57。
以上是常用的日期格式,我们在使用 `date()` 函数时,可以根据需要组合这些格式来自定义想要的日期格式。
七、调用函数符号
在 PHP 中,我们可以使用函数名后紧跟圆括号的方式来调用函数。例如:`time()`、`date('Y-m-d H:i:s', time())` 等。
需要注意的是,函数名区分大小写,因此需要与定义时的大小写保持一致。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
为失败找理由,要为成功找方法。