在 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 包裝類並通過 minDate
和 maxDate
方法設定最小和最大日期來建立一個 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();
?>
輸出:
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