ฟังก์ชัน strtotime() ของ PHP

ตัวอย่าง

แปลงข้อความวันที่และเวลาในภาษาอังกฤษเป็น Unix timestamp

<?php
echo(strtotime("now") . "<br>");
echo(strtotime("15 October 1980") . "<br>");
echo(strtotime("+5 hours") . "<br>");
echo(strtotime("+1 week") . "<br>");
echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>");
echo(strtotime("next Monday") . "<br>");
echo(strtotime("last Sunday"));
?>

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

คำอธิบายและวิธีใช้

ฟังก์ชัน strtotime() จะแปลงข้อความวันที่หรือเวลาในภาษาอังกฤษเป็นแบบ Unix timestamp (จำนวนวินาทีตั้งแต่ 00:00:00 GMT ของวันที่ 1 มกราคม 1970)

注意:ถ้ารูปแบบปีใช้รูปแบบสองหลัก ค่า 0-69 จะถูกแปลงเป็น 2000-2069 และค่า 70-100 จะถูกแปลงเป็น 1970-2000

注意:โปรดระมัดระวังรูปแบบวันที่ m/d/y หรือ d-m-y โดยหากเครื่องหมายแบ่งคือสายตรง (/) ใช้รูปแบบ m/d/y ของอเมริกา หากเครื่องหมายแบ่งคือขอบ (-) หรือจุด (.) ใช้รูปแบบ d-m-y ของยุโรป เพื่อป้องกันความผิดพลาดที่อาจเกิดขึ้น คุณควรใช้รูปแบบ YYYY-MM-DD หรือใช้ฟังก์ชัน date_create_from_format()

ภาษา

strtotime(time,now);
ตัวแปร คำอธิบาย
time จำเป็น (required). กำหนดข้อความวัน/เวลา
now ที่เลือกใช้ (optional). กำหนด timestamp ที่ใช้ในการคำนวณค่าที่กลับค่า ถ้าไม่กำหนดค่านี้ จะใช้เวลาปัจจุบัน

รายละเอียดเทคนิค

ค่าที่กลับค่า ถ้าประสบความสำเร็จก็จะกลับค่า timestamp ถ้าล้มเหลวก็จะกลับค่า FALSE
PHP รุ่น 4+

บันทึกการปรับปรุง

5.3.0: ตอนนี้รูปแบบเวลาเรlatvie อย่างเช่น สัปดาห์นี้、สัปดาห์ที่แล้ว、สัปดาห์ที่แล้ว、สัปดาห์หน้า กำหนดให้สัปดาห์เริ่มต้นด้วยวันจันทร์ถึงวันอาทิตย์ ไม่ใช่ 7 วันก่อนหน้าหรือหลังจากวันที่/เวลาปัจจุบัน
5.3.0 ก่อน PHP 5.3.0 24:00 ไม่ใช่รูปแบบที่ถูกต้อง และ strtotime() จะกลับค่า FALSE
5.2.7 ในเวอร์ชั่นก่อนหน้านี้ ถ้าของวันที่ในเดือนและวันที่นั้นเป็นวันที่แรกของเดือน จะมีความผิดพลาดที่เพิ่มสัปดาห์หนึ่งเข้าไปในตารางเวลา ซึ่งปัจจุบันได้ถูกแก้ไข
5.1.0 ถ้าล้มเหลวก็จะกลับค่า FALSE (ในเวอร์ชั่นก่อนหน้านี้จะกลับค่า -1) และเพิ่ม E_STRICT และ E_NOTICE ข้อผิดพลาดภาควันที่
5.0.2 ตอนนี้ "now" และเวลาเรlatvie อื่นๆ ถูกคำนวณอย่างถูกต้องตามเวลาปัจจุบัน ไม่ใช่ตามเวลาเย็นของวันนี้
5.0.0 อนุญาตให้มีไมโครวินาที (แต่ไมโครวินาทีมักถูกละเลย)
4.4.0 ก่อน PHP 4.4 ฟังก์ชัน "next" ถูกคำนวณผิดใน +2 และมีวิธีแก้ไขที่เป็นที่นิยมคือใช้ "+1"