แปลงรูปแบบ วันและเวลา ที่ติด +07:00 (Time Zone) เมื่อเราได้ข้อมูล วันที่ และเวลาที่ติด time zone มาด้วย แล้วเราไม่ต้องการให้มันแสดงออกมากับวัน และเวลาเราด้วย ซึ่งนี่เป็นเพียงหนึ่งวิธีที่สามารถทำได้ ดังนี้
ฟังก์ชั่นที่ใช้
ฟังก์ชั่น date() สำหรับ แสดงวัน เดือนปี นาที วินาที ตามรูปแบบต่างๆที่ต้องการ
ฟังก์ชัน explode() : ใช้ในการแบ่ง String
ตัวอย่าง
$date = "24/07/2562 09:04:05+07:00";
echo "Default Date = " .$date;
ค่า date ที่ติด +07:00(time zone)
ใช้ฟังก์ชั่น explode() เพื่อทำการแบ่ง String เป็น 2 ชุด โดยแบ่งตรงช่องว่างระหว่างวัน กับเวลา
$date = "24/07/2562 09:04:05+07:00";
$explode_date = explode(" ",$date);
echo "Default Date = " .$date;
echo "</br>";
echo "Explode Date = ";
print_r($explode_date);
ใช้ฟังก์ชั่น explode() เพื่อทำการแบ่ง String เป็น 2 ชุด
จะได้ Array มา 2 ชุด จากนั้น เก็บค่าวัน โดยอ้างอิง array ตำแหน่งที่ 0 และทำการ explode() array ตำแหน่งที่ 1 ที่เก็บเวลาไว้ โดยแบ่งจาก +
$date = "24/07/2562 09:04:05+07:00";
$explode_date = explode(" ",$date);
$ex_date = $explode_date[0];
$explode_time = explode("+",$explode_date[1]);
echo "Default Date = " .$date;
echo "</br>";
echo "New Date = ".$ex_date;
echo "</br>";
echo "Expolode time = ";
print_r($explode_time);
ทำการ explode() array ตำแหน่งที่ 1 ที่เก็บเวลาไว้
จากนั้น ใช้ ฟังก์ชั่น strtotime() เปลี่ยน ตัวอักษร ( รูปแบบของ วัน เป็น ตัวหนึ่งสือ ) เป็น Unix timestamp และใช้ ฟังก์ชั่น date() จัดให้อยู่ในรูปแบบที่ต้องการ
$date = "24/07/2562 09:04:05+07:00";
$explode_date = explode(" ",$date);
$ex_date = $explode_date[0];
$explode_time = explode("+",$explode_date[1]);
$str_time = strtotime($explode_time[0]);
$ex_time = date("h:i น.",$str_time);
$show = $ex_date." ".$ex_time;
echo "Default Date = " .$date;
echo "</br>";
echo "New Date = ".$ex_date;
echo "</br>";
echo "New Time = ".$ex_time;
echo "</br>";
echo "Result = ".$show;
ผลลัพธ์ที่ได้
ผลลัพธ์