คำอธิบาย
ฟังก์ชัน strftime() ใช้จัดรูปแบบวันที่/เวลาตาม locale ที่ตั้งค่าไว้ ใช้ format specifiers เริ่มต้นด้วย % คล้าย C library strftime() ฟังก์ชันนี้ถูก deprecated ใน PHP 8.1+ ให้ใช้ IntlDateFormatter หรือ DateTime::format() แทน
รูปแบบการใช้งาน (Syntax)
strftime(string $format, int $timestamp = time()): string|false
พารามิเตอร์
- format - สตริงฟอร์แมต (ดูรายการด้านล่าง)
- timestamp - Unix timestamp (ค่าเริ่มต้น time() ปัจจุบัน)
Format Specifiers หลัก
- %a, %A - ชื่อวันย่อ/เต็ม
- %b, %B, %h - ชื่อเดือนย่อ/เต็ม
- %c - วันที่/เวลามาตรฐาน locale
- %d, %e - วันของเดือน (01-31 / 1-31)
- %H, %I - ชั่วโมง 24h / 12h
- %m - เดือน (01-12)
- %M - นาที (00-59)
- %S - วินาที (00-59)
- %Y, %y - ปี 4 หลัก / 2 หลัก
- %Z, %z - ชื่อ/offset เขตเวลา
- %% - ตัวอักษร %
ค่าที่คืนกลับ (Return Value)
คืนค่าสตริงวันที่/เวลาที่จัดรูปแบบแล้ว หรือ false ถ้าล้มเหลว
ตัวอย่างการใช้งาน
ตัวอย่างที่ 1
<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 10, 31, 2018)) . "\n";
?>ผลลัพธ์
Oct 31 2018 20:00:00
ตัวอย่างที่ 2
<?php
echo strftime("%B %d %Y, %X %Z", mktime(20, 0, 0, 12, 31, 1992)) . "
";
?>ผลลัพธ์
December 31 1992, 20:00:00 UTC