PHP

Home

PHP Tutorial
Knowledge Developer Database Internet Resource
วันที่และเวลา
1. แหล่งของวันที่และเวลา
2. วันที่และเวลาของ PHP
3. วันที่และเวลาใน แม่ข่ายฐานข้อมูล
4. การแปลงรูปแบบวันที่ ระหว่าง PHP กับ MySQL
 
PHP ระดับสูง
1. การอัพโหลด
2. ฟังก์ชันเมล์และเครือข่าย
3. วันที่และเวลา
4. กราฟฟิกและภาพ
 
PHP
PHP เบื้องต้น
การสร้างโปรแกรมประยุกต์เว็บ
PHP ระดับสูง
 
Internet
PHP
SSI
HTML
AJAX
 
PHP ระดับสูง > วันที่และเวลา

การแปลงรูปแบบวันที่ระหว่าง PHP กับ MySQL

วันที่และเวลาใน MySQL แตกต่างเล็กน้อย เวลาแสดงผลตามปกติแต่วันที่ของ MySQL ป้อนปีก่อน ตัวอย่าง 29th August 2000 สามารถป้อน เป็น 2000-08-09 หรือ 00-80-29 วันที่ดึงจาก MySQL อยู่ในลำดับตามนี้

เมื่อวางวันที่ MySQL จาก PHP สามารถวางได้ในรูปแบบถูกต้องด้วยการใช้ ฟังก์ชัน date ( ) ข้อระวังเล็กน้อยคือ ควรใช้เวอร์ชันของวันและเดือน ให้นำหน้าด้วยศูนย์เพื่อหลีกเลี่ยงความสับสนของ MySQL

ฟังก์ชัน DATE_FORMAT( )

ถ้าทำการแปลงใน MySQL สามารถใช้ฟังก์ชัน DATE_FORMAT ( ) และ UNIX_TIMESTAMP ฟังก์ชัน DATE_FORMAT ( ) ทำงานเหมือนกับ PHP แต่ใช้รหัสรูปแบบต่างกันถ้าต้องการรูปแบบวันที่เป็น MM-DD-YYYY แทนที่ รูปแบบปกติ ของ MySQL คือ YYYY-MM-DD การแปลงใช้ไวยากรณ์ คิวรี่ดังนี้

SELECT DATE_FORMAT(date_column, '%m%d%Y')
FOME tablename;

รหัส %m แสดงเดือนด้วยตัวเลข 2 ตำแหน่ง  %d แสดงวันด้วยตัวเลข 2 ตำแหน่ง และ %y แสดงมีด้วยตัวเลข 4 ตำแหน่ง ตาราง 3.3.5 แสดงรหัสรูปแบบ MySQL สำหรับวัตถุประสงค์นี้

ตาราง 3.3.5 รหัสรูปแบบสำหรับ ฟังก์ชัน DATE_FORMAT ( ) ของ MySQL

รหัส คำอธิบาย

%M

เดือน เป็นชื่อเต็ม

%W

ชื่อวันในสัปดาห์ เป็นชื่อเต็ม

%D

วันของเดือน เป็นตัวเลขที่มีข้อความต่อท้าย (เช่น 1st )

%Y

เดือน เป็นตัวเลข 4 ตำแหน่ง

%y

เดือน เป็นตัวเลข 2 ตำแหน่ง

%a

ชื่อวันในสัปดาห์ เป็นชื่อย่อ 3 ตัวอักษร

%d

วันของเดือนเป็นตัวเลขที่นำหน้าด้วยศูนย์

%e

วันของเดือนเป็นตัวเลขที่ไม่นำหน้าด้วยศูนย์

%m

เดือนเป็นตัวเลขที่นำหน้าด้วยศูนย์

%E

เดือนเป็นตัวเลขที่ไม่นำหน้าด้วยศูนย์

%b

เดือนเป็นชื่อย่อ 3 ตัวอักษร

%j

วันของปีเป็นตัวเลข

%H

ชั่วโมงเป็นเวลา 24 ชั่วโมงที่นำหน้าด้วยศูนย์

%k

ชั่วโมงเป็นเวลา 24 ชั่วโมงที่ไม่นำหน้าด้วยศูนย์

%h หรือ %I

ชั่วโมงเป็นเวลา 12 ชั่วโมงที่นำหน้าด้วยศูนย์

%l

ชั่วโมงเป็นเวลา 12 ชั่วโมงที่ไม่นำหน้าด้วยศูนย์

%i

นาทีเป็นตัวเลขที่นำหน้าด้วยศูนย์

%R

เวลาในรูปแบบ 12 ชั่วโมง (hh:mm:ss [Am|Pm])

%T

เวลาในรูปแบบ 24 ชั่วโมง (hh:mm:ss)

%S หรือ %s

วินาทีเป็นตัวเลขที่นำหน้าด้วยศูนย์

%P

AM หรือ PM

%w

วันของสัปดาห์เป็นตัวเลขจาก 0 (วันอาทิตย์) ถึง 6 (วันเสาร์)

ตัวอย่างการแสดงวันที่ใบสั่งซื้อ (orderdate) จากตารางข้อมูล Orders
SELECT DATE_FORMAT(orderdate, '%m%d%Y')
FOME orders;

ฟังก์ชัน UNIX_TIMESTAMP ทำงานคล้ายกัน แต่แปลงคอลัมน์เป็นเวลาประทับ Unix
SELECT UNIX_TIMESTAMP (date_column)
FROM tablename;

จะส่งออกรูปแบบวันที่เป็นเวลาประทับ Unix

ตัวอย่างการแสดงวันที่การปรับปรุงจากตารางเป็นเวลาประทับ Unix
SELECT DATE_FORMAT(lastupdate)
FOME loggedinusers;

ฟังก์ชัน STR_TO_DATE( )

ฟังก์ชัน STR_TO_DATE ทำหน้าที่แปลงวันที่ในรูปแบบข้อความจากฟังก์ชัน DATE_FORMAT() ให้กลับไปเป็นค่าของเวลา รหัสการแปลงใช้เหมือนกับฟังก์ชัน DATE_FORMAT() ตามตาราง 20.6

INSERT INTO orders(customerid, amount, orderdate)
VALUES (12, 825.50, STR_TO_DATE('%d.%m.%y', '20/08/06');

 


  

สงวนลิขสิทธิ์ (C) widebase / Julaphak