วิธีใช้ฟังก์ชัน date_sub() ใน PHP

Withi Chi Fangkchan Date Sub Ni Php



เดอะ วันที่_sub() เป็นหน้าที่ของ วันเวลา class ซึ่งเป็นส่วนหนึ่งของการขยายวันที่และเวลาของ PHP ใช้เพื่อลบช่วงเวลาที่ระบุจากวันที่ที่กำหนด สามารถใช้คำนวณวันที่ในอนาคตได้โดยการลบวัน เดือน หรือปีออกจากวันที่ปัจจุบันอย่างน้อยหนึ่งวัน เดอะ วันที่_sub() ฟังก์ชั่นส่งกลับใหม่ วันเวลา วัตถุที่แสดงวันที่และเวลาหลังจากทำการคำนวณแล้ว

ไวยากรณ์พื้นฐาน

ไวยากรณ์สำหรับการใช้งาน วันที่_sub() ฟังก์ชั่นได้รับด้านล่าง:

วันที่_sub ( วันเวลา $วัตถุ , ช่วงวันที่ $ ช่วงเวลา )

ที่นี่, $วัตถุ คือ วันเวลา วัตถุที่คุณต้องการลบช่วงเวลาออก และ $ ช่วงเวลา คือ ช่วงวันที่ วัตถุที่ระบุช่วงเวลาที่คุณต้องการลบ โปรดทราบว่าจำเป็นต้องมีอาร์กิวเมนต์ทั้งสองเพื่อใช้ วันที่_sub() ทำงานได้อย่างถูกต้อง







การทำงานกับ DateInterval

เพื่อใช้ วันที่_sub() ฟังก์ชัน คุณต้องสร้างไฟล์ ช่วงวันที่ วัตถุที่ระบุระยะเวลาที่คุณต้องการลบออกจากวันที่-เวลาเดิมของคุณ ช่วงวันที่ สามารถสร้างวัตถุได้โดยใช้ ช่วงวันที่ ตัวสร้าง ตัวสร้างใช้พารามิเตอร์สตริงที่ระบุช่วงเวลาในรูปแบบเช่น P1D (หนึ่งวัน), P1M (หนึ่งเดือน), P1Y (หนึ่งปี) และ P1DT1H (หนึ่งวันและหนึ่งชั่วโมง)



ตัวอย่าง

//ลบหนึ่งวัน
$ ช่วงเวลา = ใหม่ ช่วงวันที่ ( 'พีวันดี' ) ; // ลบหนึ่งเดือน
$ ช่วงเวลา = ใหม่ ช่วงวันที่ ( 'พีวันเอ็ม' ) ;

// ลบหนึ่งปี
$ ช่วงเวลา = ใหม่ ช่วงวันที่ ( 'P1Y' ) ;

วิธีใช้ฟังก์ชัน PHP date_sub()

เมื่อคุณมี ช่วงวันที่ วัตถุ คุณสามารถรวมกับ วันเวลา คัดค้านการคำนวณวัน-เวลาใหม่ นี่คือตัวอย่างที่ลบหนึ่งวันจากวันที่ปัจจุบัน:





$วันที่และเวลา = ใหม่ วันเวลา ( ) ;

$ ช่วงเวลา = ใหม่ ช่วงวันที่ ( 'พีวันดี' ) ;

วันที่_sub ( $วันที่และเวลา , $ ช่วงเวลา ) ;

เสียงสะท้อน $วันที่และเวลา -> รูปแบบ ( 'ย-แม-ด H:i:ส' ) ;

?>

อย่างที่คุณเห็น วันที่และเวลาใหม่เร็วกว่าวันที่ปัจจุบันหนึ่งวัน





นอกจากนี้ยังสามารถลบชั่วโมง นาที และวินาทีออกจากวัตถุ DateTime โดยใช้ วันที่_sub() การทำงาน. หากต้องการลบชั่วโมง คุณสามารถส่งช่วงวันที่เป็น PT1H ซึ่งหมายถึงการลบหนึ่งชั่วโมง ตัวอย่างเช่น พิจารณารหัสต่อไปนี้:





$วันที่และเวลา = ใหม่ วันเวลา ( '2023-05-16 14:43:00' ) ;

วันที่_sub ( $วันที่และเวลา , ใหม่ ช่วงวันที่ ( 'พีที1เอช' ) ) ;

เสียงสะท้อน $วันที่และเวลา -> รูปแบบ ( 'ย-แม-ด H:i:ส' ) ;

?>

ซึ่งจะลบหนึ่งชั่วโมงจากวัตถุ DateTime และอัปเดตวัตถุด้วยค่าใหม่ คุณสามารถเข้าถึงค่าใหม่ได้โดยใช้ปุ่ม รูปแบบ() ฟังก์ชันของวัตถุ DateTime

ตัวอย่างที่ 1: การลบช่วงเวลาต่างๆ

เดอะ วันที่_sub() ฟังก์ชันช่วยให้ลบช่วงเวลาต่างๆ ได้ ไม่ใช่แค่วันเท่านั้น ลองพิจารณาสถานการณ์ที่เราต้องการลบ 2 ชั่วโมง 30 นาทีจากวันที่และเวลาที่กำหนด



วันที่ $ = ใหม่ วันเวลา ( '2023-11-02 10:32:45' ) ;

$ ช่วงเวลา = ใหม่ ช่วงวันที่ ( 'PT1H15M' ) ;

วันที่_sub ( วันที่ $ , $ ช่วงเวลา ) ;

เสียงสะท้อน วันที่ $ -> รูปแบบ ( 'ย-แม-ด H:i:ส' ) ;

?>

ในตัวอย่างนี้ เราสร้างวัตถุ DateTime แทนวันที่และเวลา “2023-11-02 10:32:45” . เรายังสร้าง ช่วงวันที่ วัตถุที่แสดงระยะเวลา 1 ชั่วโมง 15 นาที โดยใช้รูปแบบ “PT1H15M” จากนั้นเราก็ใช้ วันที่_sub() ฟังก์ชั่นลบช่วงเวลาจากวันที่และเวลา

ตัวอย่างที่ 2: การลบหลายช่วง

คุณยังสามารถใช้ วันที่_sub() ฟังก์ชันเพื่อลบช่วงเวลาหลายช่วงจากวัตถุ DateTime ไวยากรณ์นั้นเรียบง่าย: เพียงสร้างวัตถุ DateInterval ใหม่สำหรับแต่ละช่วงที่คุณต้องการลบ และส่งทั้งหมดไปยัง วันที่_sub() ทำหน้าที่เป็นอาร์เรย์



$ ช่วงเวลา = อาร์เรย์ (

ใหม่ ช่วงวันที่ ( 'P1Y' ) ,

ใหม่ ช่วงวันที่ ( 'พี6เอ็ม' ) ,

ใหม่ ช่วงวันที่ ( 'P3D' )

) ;

$วันที่และเวลา = ใหม่ วันเวลา ( ) ;

แต่ละ ( $ ช่วงเวลา เช่น $ ช่วงเวลา ) {

วันที่_sub ( $วันที่และเวลา , $ ช่วงเวลา ) ;

}

เสียงสะท้อน $วันที่และเวลา -> รูปแบบ ( 'ย-แม-ด H:i:ส' ) ;

?>

ในตัวอย่างนี้ เราลบหนึ่งปี หกเดือน และสามวันออกจากวันที่

ตัวอย่างที่ 3: date_sub() กับเขตเวลา

สิ่งหนึ่งที่คุณต้องระวังเมื่อใช้ วันที่_sub() ฟังก์ชั่นคือมันสามารถส่งผลกระทบต่อเขตเวลาของคุณ วันเวลา วัตถุ. โดยค่าเริ่มต้น, วันเวลา วัตถุใช้เขตเวลาของเซิร์ฟเวอร์ของคุณ อย่างไรก็ตาม หากคุณต้องการทำงานกับเขตเวลาอื่น คุณสามารถตั้งค่าได้อย่างชัดเจนโดยใช้ ตั้งเขตเวลา () วิธี.



$วันที่และเวลา = ใหม่ วันเวลา ( 'ตอนนี้' , ใหม่ วันที่เวลาโซน ( 'อเมริกา/นิวยอร์ก' ) ) ;

$ ช่วงเวลา = ใหม่ ช่วงวันที่ ( 'พีวันดี' ) ;

วันที่_sub ( $วันที่และเวลา , $ ช่วงเวลา ) ;

เสียงสะท้อน $วันที่และเวลา -> รูปแบบ ( 'ย-แม-ด H:i:ส' ) ;

?>

ในตัวอย่างนี้ เราตั้งค่าเขตเวลาเป็น America/New_York และลบหนึ่งวันออกจากวันที่และเวลา

เมื่อลบช่วงเวลาโดยใช้เครื่องหมาย วันที่_sub() สิ่งสำคัญคือต้องทราบว่าวันที่ที่เป็นผลลัพธ์จะถูกปรับโดยอัตโนมัติหากวันที่ไม่ถูกต้อง

บทสรุป

เดอะ วันที่_sub() ฟังก์ชันใน PHP ให้วิธีที่สะดวกในการลบช่วงเวลาจากวัตถุ DateTime เมื่อใช้ฟังก์ชันนี้ นักพัฒนาสามารถดำเนินการได้อย่างง่ายดาย เช่น การลบวัน ชั่วโมง นาที หรือช่วงเวลาที่ซับซ้อนออกจากวันที่และเวลาที่กำหนด เดอะ วันที่_sub() ฟังก์ชันมีความยืดหยุ่นและแม่นยำในการจัดการการคำนวณวันที่ ทำให้เป็นเครื่องมือที่มีประโยชน์สำหรับการทำงานกับวันที่และเวลาในแอปพลิเคชัน PHP