在 PHP 中获取昨天的日期
本文将介绍如何在 PHP 中获取昨天的日期。
在学习解决方案之前,我们先来了解一下 date()的概念。
PHP 中的 date()
它是一个内置的 PHP 函数,用于返回格式化的日期字符串。
date()
的语法
date(format, timestamp)
参数
format
:这是一个强制参数,用于指定输出日期字符串格式。其中一些选项是:
timestamp
:它是一个可选参数,以整数格式指定 Unix 时间戳。如果未提供,则将采用默认值作为当前本地时间。
PHP 中的 DateInterval
它是一个表示日期间隔的 PHP 类。它还提供了静态方法,它接受输入字符串并从输入字符串设置一个 DateInterval。
现在我们已经理解了 date()
、strtotime()
和 mktime()
的基本概念。我们将使用所有这些函数来获取昨天的日期。
在 PHP 中使用 strtotime()
获取昨天的日期
strtotime()
是一个内置的 PHP 函数,可以将英文文本 DateTime 解析为 1970 年 1 月 1 日格林威治标准时间 00:00:00 的 Unix 时间戳。
strtotime()
的语法
strtotime(time, now);
参数
time
:这是一个强制参数,它指定一个日期/时间字符串。
now
:这是一个可选参数,指定用作计算相对日期基础的时间戳。
我们可以将 yesterday
或 -1 days
传递给 strtotime
函数以获取昨天的时间戳。如上所述,时间戳可以通过 date()
函数转换为字符串格式的日期。
示例代码:
<?php
// Get yesterdays date
echo date('d.m.Y',strtotime("-1 days")). "\n";
echo date('d M Y',strtotime("yesterday"));
?>
输出:
24.10.2021
24 Oct 2021
在 PHP 中使用 mktime()
获取昨天的日期
它是一个内置的 PHP 函数,用于返回日期的 Unix 时间戳。除了传递的参数表示日期(不是 GMT 日期)之外,此函数几乎与 gmmktime()
相同。
语法
mktime(hour, minute, second, month, day, year)
参数
-
hour
:这是一个可选参数,用于指定小时。 -
minute
:可选参数,指定分钟。 -
second
:可选参数,指定秒。 -
month
:可选参数,指定月份。 -
day
:可选参数,指定日期。 -
year
:可选参数,指定年份。
示例代码:
<?php
$m = date("m"); // Month value
$de = date("d"); // Today's date
$y = date("Y"); // Year value
echo "Yesterday's date was: " . date('d-m-Y', mktime(0,0,0,$m,($de-1),$y));
?>
输出:
Yesterday's date was: 24-10-2021
year
和 month
的值在今天和昨天之间是相同的。昨天的天
值比今天的值少 1。
在 PHP 中使用 time()
获取昨天的日期
time()
函数返回当前时间戳。如果我们减去它的值,那么我们得到昨天同一时间的时间戳。
示例代码:
<?php
echo date('d M Y', time() - 60 * 60 * 24);
?>
输出:
24 Oct 2021
在 PHP 中使用 DateInterval
获取昨天的日期
它是一个表示日期间隔的 PHP 类。它还提供了静态方法,它接受输入字符串并从输入字符串设置一个 DateInterval。
DateInterval()
的语法
new DateInterval($period);
参数
$period
:它是一个强制参数,以字符串的形式指定时间。例如,P1D
指定 1 天。PT1H 指定 1 小时。
DateInterval::createFromDateString()
的语法
public static DateInterval::createFromDateString(string $datetime);
参数
$datetime
:它是一个强制参数,以字符串格式指定日期/时间。
我们可以将 yesterday
传递给 createFromDateString()
,将 P1D
传递给 DateInterval
函数以获取昨天的时间戳。我们可以在当前时间戳中加上或减去这个时间戳,结果时间戳可以通过 date()
函数转换为字符串格式的日期。
示例代码:
<?php
$date = new DateTime();
$date->add(DateInterval::createFromDateString('yesterday'));
echo $date->format('d M Y') . "\n";
$date = new DateTime();
$date->sub(new DateInterval('P1D'));
echo $date->format('d M Y') . "\n";
?>
输出:
24 Oct 2021
24 Oct 2021
相关文章
如何在 PHP 中获取时间差的分钟数
发布时间:2023/03/29 浏览次数:183 分类:PHP
-
本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。