Skip to main content

PHP Function วันที่ และ เวลา ในรูปแบบ ว/ด/ป

ข้อมูลวันที่ หรือ DATE ใน ฐานข้อมูล MySQL นั้น จะอยู่ในรูปแบบของ ปี-เดือน-วัน (เช่น 2015-05-05) ซึ่ง อาจจะไม่สะดวกในการแสดงผล หากต้องการให้การแสดงผลอยู่ในรูปแบบ ว/ด/ป สามารถ ทำได้โดยการสร้าง Function ขึ้นมาเพื่อ แปลง ข้อมูลให้เป็นในรูปแบบที่ต้องการ

1.ตัวอย่าง Function แสดงวันที่เป็น รูปแบบ ว/ด/ป

1.1.สร้าง function ชื่อว่า changeDate โดยรับค่าตัวแปร $date เข้ามา (ตัวอย่าง 2015-05-05)
1.2.ใช้ function explode เพื่อแยกข้อความจากตัวแปร $date ออกเป็นส่วน ๆ ตามเครื่องหมาย – โดยเก็บค่าไว้ในตัวแปร $get_date ซึ่งในตัวแปร $get_date จะมีค่าเป็น Array เก็บข้อมูลประมาณนี้

Array
(
[0] => 2016    //Array ลำดับที่ 0 เก็บค่า ปี
[1] => 01         //Array ลำดับที่ 1 เก็บค่า เดือน
[2] => 01        //Array ลำดับที่ 2 เก็บค่า วันที่
)

1.3.สร้างตัวแปร $month เก็บค่าเดือนเป็นแบบ Array
1.4.สร้างตัวแปร $get_month  ให้มีค่าเท่ากับ ตัวแปร $get_date[‘1’] ซึ่งเก็บค่าเดือน
1.5.สร้างตัวแปร $year ให้มีค่าเท่ากับ ตัวแปร $get_date[‘0’] แล้ว บวกด้วย 543 เพื่อให้เป็นรูปแบบ พ.ศ.
1.6. return  ค่าตัวแปร $get_date[‘2’].” “.$month[$get_month].” “.$year

PHP explode() Function

เพิ่มเติม สำหรับ Function explode คือ function สำหรับ แยก String เป็น Array จากเครื่องหมายที่ต้องการแบ่ง

explode(separator,string)
separator คือ string หรือ เครื่องหมายที่ต้องการแบ่ง
string คือ ข้อความที่ต้องการแบ่ง

อ้างอิง http://www.w3schools.com/php/func_string_explode.asp

ตัวอย่าง Function changeDate แสดงวันที่ในรูปแบบ ว/ด/ป

<?php
function changeDate($date){
//ใช้ Function explode ในการแยกไฟล์ ออกเป็น  Array
$get_date = explode("-",$date);
//กำหนดชื่อเดือนใส่ตัวแปร $month
	$month = array("01"=>"ม.ค.","02"=>"ก.พ","03"=>"มี.ค.","04"=>"เม.ย.","05"=>"พ.ค.","06"=>"มิ.ย.","07"=>"ก.ค.","08"=>"ส.ค.","09"=>"ก.ย.","10"=>"ต.ค.","11"=>"พ.ย.","12"=>"ธ.ค.");
//month
$get_month = $get_date["1"];

//year	
$year = $get_date["0"]+543;

return $get_date["2"]." ".$month[$get_month]." ".$year;

}
//การเรียกใช้งาน Function
echo change_date("2015-05-05");
?>

ตัวอย่างการทำงาน Function changeDate

06 พ.ค. 2558

2.ตัวอย่าง Function แสดงวันที่เป็น รูปแบบ วันที่/เดือน/ ปี  ชั่วโมง:นาที

2.1.สร้าง function dateTime รับค่าตัวแปร $date_time (ตัวอย่าง 2016-02-19  10:15:00)
2.2.ใช้ function explode แยกข้อมูลวันที่ และ เวลา เก็บไว้ใน ตัวแปร $cut_date
2.3. เรียกใช้ function changeDate จากตัวอย่างที่ 1 เพื่อแสดงวันที่ในรูปแบบ ว/ด/ป โดยส่งค่าวันที่ จากตัวแปร $cut_date[‘0’] เก็บไว้ในตัวแปร $date
2.4. ใช้ function substr ตัด ข้อมูลที่เป็นวินาที่ออกไป
2.5. return ส่งค่าตัวแปร $date และ $time เพื่อกลับไปแสดงผล

PHP substr() Function

เพิ่มเติมสำหรับ function substr คือ function สำหรับ ตัด String ที่ไม่ต้องการออกไป
สามารถระบุ ตำแหน่ง และ ความยาวของข้อความที่ต้องการได้

Syntax
substr(string,start,length)

string คือ ชุดข้อความที่ต้องการตัด
start คือ ตำแหน่งเริ่มต้น
length คือ ความยาวของตัวอักษรที่ต้องการ

อ้างอิง http://www.w3schools.com/php/func_string_substr.asp
อ้างอิง http://computer.todaygoods.com/php/substr.html

ตัวอย่าง Function dateTime แสดงวันที่ในรูปแบบ ว/ด/ป  ชั่วโมง:นาที

<?php
function dateTime($date_time){
 
 //ใช้ function explode แยกข้อมูลวันที่ กับ เวลา
 $get_date_time = explode(' ',$date_time);
 
 //เรียกใช้ function changeDate สำหรับแสดงวันที่
 $date = changeDage($get_date_time['0']);
 
 //ใช้ funciton substr เพื่อ ตัด ข้อมูลที่เป็น วินาทีออกไปซะ
 $time = substr($get_date_time['1'],0,-3);
 
 return $date." เวลา ".$time;
}
//การเรียกใช้งาน Function
echo dateTime("2015-05-05 10:11:25");
?>

ตัวอย่างการแสดงผล

05 พ.ค. 2558 เวลา 10:11

 

จากตัวอย่างจะเห็นได้ว่าเราสามารถสร้าง Function เพื่อ จัดการรูปแบบข้อมูลได้ตามต้องการ
ทั้งนี้สามารถประยุกต์เพิ่มเติมตามความต้องการได้ครับ