在 PHP 中使用 DatePicker

Olorunfemi Akinlua 2023年1月30日 2022年7月12日
  1. 使用 strtotime()DateTime() 在 PHP 中建立日期
  2. 使用 Essential JS for PHP 實現 DatePicker 功能
在 PHP 中使用 DatePicker

當我們在任何站點中填寫表單時,我們可能需要使用 DatePicker 來選擇日期。例如,出生日期或課程完成日期。

為此,你可以使用 HTML 和 JavaScript。但是,要使用日期,我們需要比較使用者在伺服器端選擇的日期。

我們不能在客戶端使用 PHP,但可以在伺服器端比較 DatePicker 的值。在本文中,我們將使用兩個函式來比較我們從客戶端的 DatePicker 和 DatePicker 的 PHP 庫中獲得的值。

使用 strtotime()DateTime() 在 PHP 中建立日期

使用 JS DatePicker,使用者選擇的日期的值很可能儲存在字串中。我們將使用 strtotime() 函式來實現良好的使用。

在此示例中,我們可以將使用者的時間與基線日期進行比較,以瞭解使用者是否在 18 歲以上。

程式碼:

<html>
  <head>
    <title>PHP Test</title>
  </head>
  <body>
    <?php

    function above_18($arg) {
      $baseline_date = strtotime("2004-03-26");
      $users_date = strtotime($arg);

      if ($user_date < $baseline_date) {
          return "You are below the age of 18.";
      } else {
        return "You are above the age of 18. Continue with your registration process";
      }
    }

    // Obtain the date of birth of user
    // and place as the argument for the above_18() function
    $notification = above_18("2007-10-29");
    print_r($notification);

    ?>
  </body>
</html>

輸出:

You are below the age of 18.

現在,讓我們使用 DateTime() 方法來實現相同的結果,其中 DatePicker 值與伺服器端的值不同。

程式碼:

<html>
  <head>
    <title>PHP Test</title>
  </head>
  <body>
    <?php

    function above_18($arg) {
      $baseline_date = new DateTime("2004-03-26");
      $users_date = new DateTime($arg);

      if ($user_date < $baseline_date) {
          return "You are below the age of 18.";
      } else {
        return "You are above the age of 18. Continue with your registration process";
      }
    }

    // Obtain the date of birth of user
    // and place as the argument for the above_18() function
    $notification = above_18("07-10-29");
    print_r($notification);
    ?>
  </body>
</html>

輸出:

You are below the age of 18.

使用 Essential JS for PHP 實現 DatePicker 功能

除了比較 JS DatePicker 值之外,我們還可以使用名為 Essential JS for PHP 的第三方庫來建立 PHP DatePicker

在下面的示例中,我們將通過呼叫 EJ 名稱空間中的 PHP 包裝類並通過 minDatemaxDate 方法設定最小和最大日期來建立一個 PHP DatePicker 控制元件。

程式碼:

<?php
        $date = new EJ\DatePicker("datePicker");
        echo $date->value(new DateTime())->
                minDate(new DateTime("11/1/2016"))->
                maxDate(new DateTime("11/24/2016"))->
                render();
?>

輸出:

Datepicker 使用 Essential JS for PHP 庫

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

相關文章 - PHP Date