PHP ระดับสูง > วันที่และเวลา
แหล่งของวันที่และเวลา
โปรแกรมประยุกต์ภายใต้ PHP ต้องทำงานกับวันที่และเวลาจากหลายแหล่ง นอกเหนือจาก PHP
PHP
ฟังก์ชัน time() นำเสนอค่าวันที่และเวลาทั่วไป ฟังก์ชันนี้ส่งออกค่าเป็นเวลาประทับ (timestamp) ของวันที่และเวลาปัจจุบันและสามารถส่งผ่านไปยังฟังก์ชันวันที่และเวลาอื่นของ PHP ฟังก์ชัน date() แสดงวันที่และเวลาด้วยการให้พารามิเตอร์รูปแบบ ตามตัวอย่างในบทที่ 1 "เริ่มต้นด้วย PHP"
<?php
// PHP, date/time
$now = time();
echo "<strong>PHP</strong> ฟังก์ชัน time - ";
echo $now;
echo "<br/>";
echo "<strong>PHP</strong> ฟังก์ชัน date - ";
echo date('r', $now);
echo "<br/>";
?>
ผลลัพธ์
PHP ฟังก์ชัน time - 1157251443
PHP ฟังก์ชัน date - Sun, 03 Sep 200610:41:43 +0800
นอกจากนี้สามารถใช้ ฟังก์ชันอื่นที่ให้ค่าวันที่และเวลาในรูปแบบ array เช่น getdate()
ระบบปฏิบัติการ
ระบบปฏิบัติการสามารถส่งออกค่าวันที่และเวลาได้ด้วยฟังก์ชัน filectime(), fileatime() และ filemtime() (บทที่ 17 "การอัพโหลดและระบบไฟล์") ค่าส่งออกเป็นเวลาประทับที่สามารถส่งออกไปยังฟังก์ชัน date() ได้
<?php
$ftime = filemtime('test_date.php');
echo "<strong>OS</strong> filemtime (เวลาปรับปรุงครั้งสุดท้าย) - ";
echo date('r',$ftime);
echo " ($ftime)<br/>"
?>
ผลลัพธ์
OS filemtime (เวลาปรับปรุงครั้งสุดท้าย) - Sun, 03 Sep 200611:05:09 +0800(1157252709)
แม่ข่ายฐานข้อมูล
แม่ข่ายฐานข้อมูลเป็นแหล่งสำคัญของวันที่และเวลา โดยมีการจัดเก็บในรูปแบบกว้างขวาง ใน MySQL ส่งออกในรูปแบบวันที่และเวลาเป็น yyyy-mm-dd hh:nn:ss เช่น 2006-05-07 18:10:42 ส่วนวันที่ส่งออกในรูปแบบเป็น 2005-05-07
<?php
$conn = new mysqli("localhost", "bookuser", "password", "widebook");
$result = $conn->query('SELECT orderid, orderdate FROM orders');
if ($result === FALSE)
echo "FALSE<br/>";
if ($result !== FALSE)
{
echo "<table width='60%' border='0'>";
echo "<tr<td>order id</td><td>order date</td></tr>";
while (($row = $result->fetch_assoc()) != NULL)
{
echo "<tr><td>".$row['orderid']."</td>";
echo "<td>".$row['orderdate']."</td></tr>";
}
echo "</table>";
$result->close();
}
?>
ฟอร์ม HTML
ฟอร์ม HTML เป็นอีกแหล่งของวันที่และเวลาด้วยการส่งค่าบนฟอร์มมาที่แม่ข่าย เช่น วันเกิดของผู้ใช้ แต่การป้อนค่าบนฟิลด์ <input> ผู้ใช้สามารถป้อนค่าได้หลากหลายรูปแบบ เช่น
03-05-2006
03/05/2549
3/5/2549
การป้อนค่าเหล่านี้อาจจะป้องกันได้ด้วยการแบ่งส่วนเป็นวัน เดือน และปี
วันเกิด
<input name="day" type="text" size="4" maxlength="2" value="วันที่"/>
<input name="month" type="text" size="4" maxlength="2" value="เดือน"/>
<input name="year" type="text" size="6" maxlength="4" value="พ.ศ."/>
การแสดงผลบน browser
ภาพ 3.3.1 ฟิลด์สำหรับป้อนค่าวัน เดือน ปี
|