📜  strtotime 格式 - PHP (1)

📅  最后修改于: 2023-12-03 15:20:21.943000             🧑  作者: Mango

strtotime 格式 - PHP

介绍

strtotime() 是 PHP 中一个很有用的日期/时间处理函数。它将字符串转换为 UNIX 时间戳(从 1970 年 1 月 1 日 00:00:00 UTC 到该时间的秒数)。

这个函数可以通过解析人类可读的时间字符串来生成新时间戳,例如:2019-07-01 12:00:00,也可以处理相对时间,例如:next Thursday

在本文中,我们将会介绍如何使用 strtotime() 函数及其常见用法。

使用方法

使用 strtotime() 函数,只需要将需要转换的日期时间字符串作为参数传入函数,函数将会返回一个 UNIX 时间戳。

$timestamp = strtotime('2019-07-01 12:00:00');
echo $timestamp; // 1561958400

从上面的示例中,我们可以看到,函数将 2019-07-01 12:00:00 转换为了 1561958400

在使用 strtotime() 函数时,可以传入相对时间来进行计算,例如:+1 day 表示在当前时间基础上再加一天。相对时间的关键字及含义如下:

  • +n seconds:在当前时间基础上再加 n 秒;
  • +n minutes:在当前时间基础上再加 n 分钟;
  • +n hours:在当前时间基础上再加 n 小时;
  • +n days:在当前时间基础上再加 n 天;
  • +n weeks:在当前时间基础上再加 n 周;
  • +n months:在当前时间基础上再加 n 月;
  • +n years:在当前时间基础上再加 n 年;
$timestamp = strtotime('+1 day');
echo $timestamp; // 明天的这个时刻的时间戳

此外,我们还可以通过 strtotime() 函数解析特定格式的日期时间字符串,例如:2019-07-01T12:00:00+08:00

$timestamp = strtotime('2019-07-01T12:00:00+08:00');
echo $timestamp; // 1561948800
常见用法
获取当前时间戳
$timestamp = time();
echo $timestamp;
根据指定日期时间格式获取时间戳
$timestamp = strtotime('2019-07-01 12:00:00');
echo $timestamp;
根据相对时间获取时间戳
$timestamp = strtotime('+1 day');
echo $timestamp;
将时间戳转换为指定格式的日期时间字符串
$timestamp = time();
$date = date('Y-m-d H:i:s', $timestamp);
echo $date;
结论

strtotime() 是一个非常实用的函数,可以快速进行日期时间计算、转换,提高了开发效率。在使用 strtotime() 函数时,需要注意日期时间格式的规范性,以及相对时间的含义和用法。