วิธี setDate ของคลาส DateTime

วิธี setDate เปลี่ยนวันที่ในวัตถุ DateTime โดยรับพารามิเตอร์สามตัวคือ ปี (จำนวนเต็ม), เดือน (จำนวนเต็มตั้งแต่ 1 ถึง 12) และ วัน (จำนวนเต็มตั้งแต่ 1 ถึง 31) ส่งคืนวัตถุ DateTime ที่ถูกแก้ไขแล้ว

ไวยากรณ์

phppublic DateTime::setDate(int $year, int $month, int $day): DateTime

ตัวอย่าง

กำหนดวันที่ใหม่เป็น 15 มีนาคม 2023:

php<?php
  $date = new DateTime();
  $date->setDate(2023, 3, 15);
  echo $date->format('Y-m-d');
?>

ผลลัพธ์จากการรันโค้ด:

php'2023-03-15'

ตัวอย่าง

การแก้ไขวันที่ที่ไม่ถูกต้องโดยอัตโนมัติ (32 มกราคม จะถูกแปลงเป็น 1 กุมภาพันธ์):

php<?php
  $date = new DateTime();
  $date->setDate(2023, 1, 32);
  echo $date->format('Y-m-d');
?>

ผลลัพธ์จากการรันโค้ด:

php'2023-02-01'

ตัวอย่าง

กำหนดวันที่ด้วยค่าลบ (ย้อนกลับไปยังปีก่อนหน้า):

php<?php
  $date = new DateTime();
  $date->setDate(2023, -1, 15);
  echo $date->format('Y-m-d');
?>

ผลลัพธ์จากการรันโค้ด:

php'2022-11-15'

ดูเพิ่มเติม

  • ฟังก์ชัน checkdate,
    ซึ่งตรวจสอบความถูกต้องของวันที่
  • ฟังก์ชัน date,
    ซึ่งจัดรูปแบบวันที่ที่กำหนด
  • ฟังก์ชัน modify,
    ซึ่งเปลี่ยนวันที่ด้วยสตริงรูปแบบสัมพัทธ์