php时间转换日期函数是

在 PHP 中,我们经常需要将时间戳(timestamp)转换为日期格式,或者将日期格式转换为时间戳。这时,PHP 时间转换日期函数就是必不可少的工具。本篇文章就将详细介绍 PHP 中常用的时间转换日期函数。

PHP 日期格式符号

在介绍时间转换日期函数之前,我们需要先了解 PHP 的日期格式符号。日期格式符号是用于定义日期格式的符号,它们被放置在日期格式字符串中。下面是 PHP 中常用的日期格式符号:

- Y:显示完整的年(例如,2022)

- y:显示两位数字的年(例如,22)

- m:显示数字的月份,有前导零(01-12)

- n:显示数字的月份,没有前导零(1-12)

- d:显示两位数字的日期,有前导零(01-31)

- j:显示数字的日期,没有前导零(1-31)

- H:显示两位数字的小时,有前导零(00-23)

- h:显示两位数字的小时,有前导零(01-12)

- i:显示两位数字的分钟,有前导零(00-59)

- s:显示两位数字的秒数,有前导零(00-59)

- A:显示大写的上午或下午(AM 或 PM)

- a:显示小写的上午或下午(am 或 pm)

PHP 时间戳转换为日期格式

在 PHP 中,我们可以使用 date() 函数将时间戳转换为日期格式。其基本语法如下:

```

date(string $format, int $timestamp = time())

```

其中,$format 是日期格式字符串,$timestamp 是一个可选参数,表示时间戳。如果不传递该参数,则默认使用当前时间戳。

下面是一个实际的示例,将时间戳转换为日期格式:

```

echo date('Y-m-d H:i:s', 1641711600);

```

在这个示例中,我们将时间戳 1641711600 转换为日期格式,并使用 Y-m-d H:i:s 的格式进行显示。

输出的结果为:

```

2022-01-09 08:00:00

```

可以看到,时间戳已经成功转换为日期格式,并以指定的格式进行了显示。

PHP 日期格式转换为时间戳

除了将时间戳转换为日期格式之外,我们还可以使用 PHP 中的 strtotime() 函数将日期格式转换为时间戳。其基本语法如下:

```

strtotime(string $time, int $now = time())

```

其中,$time 表示要转换为时间戳的日期格式字符串,$now 表示可选参数,表示当前时间戳。如果不传递该参数,则默认使用当前时间戳。

下面是一个实际的示例,将日期格式转换为时间戳:

```

echo strtotime('2022-01-09 08:00:00');

```

在这个示例中,我们将日期格式字符串 '2022-01-09 08:00:00' 转换为时间戳。

输出的结果为:

```

1641711600

```

可以看到,日期格式已经成功转换为时间戳,并返回了时间戳的值。

PHP 时间转换为人性化格式

除了将时间戳转换为日期格式之外,我们还可以将时间转换为人性化的格式,如“5 分钟前”、“1 小时前”、“昨天”、“上周”等等。这时,我们可以使用 PHP 中的自定义函数来实现。

下面是一个自定义函数,将时间转换为人性化格式:

```

function time_to_human($time) {

$timestamp = strtotime($time);

$diff = time() - $timestamp;

if ($diff < 60) {

return '刚刚';

} else if ($diff < 3600) {

return round($diff / 60) . ' 分钟前';

} else if ($diff < 86400) {

return round($diff / 3600) . ' 小时前';

} else if ($diff < 604800) {

return round($diff / 86400) . ' 天前';

} else if ($diff < 2592000) {

return round($diff / 604800) . ' 周前';

} else {

return date('Y-m-d', $timestamp);

}

}

```

这个函数包含一个参数 $time,表示要转换为人性化格式的时间。首先,我们使用 strtotime() 函数将时间转换为时间戳,然后计算时间戳与当前时间戳之间的差值 $diff。

接下来,我们通过 $diff 的大小,判断时间间隔,并返回人性化的格式。如果时间间隔小于 60 秒,就返回“刚刚”;如果时间间隔小于 1 小时,就返回“N 分钟前”;如果时间间隔小于 1 天,就返回“N 小时前”;如果时间间隔小于 1 周,就返回“N 天前”;如果时间间隔小于 1 个月,就返回“N 周前”;否则,返回标准的日期格式。

下面是一个测试示例:

```

echo time_to_human('2022-01-10 09:13:22');

```

在这个示例中,我们将时间字符串 '2022-01-10 09:13:22' 转换为人性化格式。

输出的结果为:

```

10 小时前

```

可以看到,时间成功地被转换成了人性化格式,并且返回了正确的时间差值。

总结

在本篇文章中,我们详细介绍了 PHP 中常用的时间转换日期函数。通过这些函数,我们可以轻松地将时间戳转换为日期格式,将日期格式转换为时间戳,甚至将时间转换为人性化的格式。

为了更好地使用这些函数,我们还了解了 PHP 中的日期格式符号,并且通过自定义函数实现了时间转换为人性化格式的例子。

掌握了这些知识,我们可以有效地处理PHP中的时间与日期数据,让我们的Web开发更加高效。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(12) 打赏

评论列表 共有 1 条评论

萌你一身血 2年前 回复TA

自己是水,维系着我的生命。

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