在 PHP 中查找一周中的某一天的日期

Habdul Hazeez 2023年1月30日 2022年7月18日
  1. 在 PHP 中获取一个数字的星期的日期
  2. 从 PHP 中的日期字符串获取星期几
在 PHP 中查找一周中的某一天的日期

本文教你如何使用 PHP 获取一周中的数字日期。我们的解决方案基于将数字 0 到 6 分配给从周日到周六的工作日。

我们将使用 PHP datestrtotime 函数进行计算。

在 PHP 中获取一个数字的星期的日期

要获取数字的日期,我们将从一周中选择一个初始日期。日期的格式为 yyyy-mm-dd,然后我们选择 0 到 6 之间的数字。

通过这样做,我们将知道 PHP 为该数字返回的任何日期都与初始日期在同一周。之后,我们使用 PHP 使用我们选择的数字和初始日期来获取日期。

PHP 代码将使用以下算法:

  • 定义初始日期。
  • 选择 0 到 6 之间的数字。
  • 确保数字介于 0 和 6 之间。
  • 使用 PHP datestrtotime 将我们的数字转换为一周中的一天。
  • yyyy-mm-dd 格式将星期几转换为我们的日期。我们将使用 date() 函数,它的参数是:
    • Y-m-d
    • 步骤 4 中的星期的 Unix 时间戳,减去我们选择的数字。
    • 我们初始日期的 Unix 时间戳。

下面是这个算法的实现:

<?php
    $initial_date = '2022-06-22';
    $day = 0;

    if ($day >= 0 and $day <= 6) {
        $day_of_the_week = date('w', strtotime($initial_date));

        $the_date = date('Y-m-d', strtotime(($day - $day_of_the_week). ' day', strtotime($initial_date)));

        echo($the_date);
    } else {
        echo 'You have entered an invalid day value. Check the "$day" variable and try again';
    }
?>

输出:

2022-06-19

从 PHP 中的日期字符串获取星期几

当你拥有格式为 yyyy-mm-dd 的日期时,你可以找到它所在的日期,例如星期一或星期日。由于我们已经有了一个日期(来自上一节),我们可以修改我们的代码以打印日期名称。

修改将让我们从日期开始打印当天的完整文本表示。我们将使用 date() 函数,并将以下内容作为其参数传递:

  • 字母 l(字母 el)
  • 我们日期的 Unix 时间戳

以下是修改后的代码以及上一个列表中的更改:

<?php
    $the_date = "2022-06-19"; // The date from the previous section
    $name_of_the_day = date('l', strtotime($the_date));
    echo "The date " . $the_date . " falls on a " . $name_of_the_day;
?>

输出:

The date 2022-06-19 falls on a Sunday
Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

相关文章 - PHP Date