ฉันต้องการรับวันที่เมื่อวานโดยใช้รูปแบบวันที่เฉพาะใน php นี่คือรูปแบบ:
$today = date("d.m.Y"); //15.04.2013
เป็นไปได้ไหม?
พิจารณาเดือนและปีว่าควรเปลี่ยนตามลำดับหรือไม่
ฉันต้องการรับวันที่เมื่อวานโดยใช้รูปแบบวันที่เฉพาะใน php นี่คือรูปแบบ:
$today = date("d.m.Y"); //15.04.2013
เป็นไปได้ไหม?
พิจารณาเดือนและปีว่าควรเปลี่ยนตามลำดับหรือไม่
คำตอบ:
เอาเข้าไป
date('d.m.Y',strtotime("-1 days"));
สิ่งนี้จะใช้ได้เช่นกันหากมีการเปลี่ยนแปลงเดือน
คุณสามารถทำได้โดย
date("F j, Y", time() - 60 * 60 * 24);
หรือโดย
date("F j, Y", strtotime("yesterday"));
ขั้นตอนที่ 1
เราต้องการข้อมูลรูปแบบการตั้งค่าในฟังก์ชัน date (): วันที่ของฟังก์ชัน () ส่งคืนสตริงที่จัดรูปแบบตามสตริงรูปแบบที่กำหนดโดยใช้การประทับเวลาจำนวนเต็มที่กำหนดหรือกำหนดเวลา ifno เวลาปัจจุบัน กล่าวอีกนัยหนึ่ง timestamp เป็นทางเลือกและกำหนดค่าของเวลา ()
<?php
echo date("F j, Y");
?>
ผลลัพธ์: 30 มีนาคม 2553
ขั้นตอนที่ 2
สำหรับวันที่ "เมื่อวาน" ให้ใช้ฟังก์ชัน php mktime (): ฟังก์ชัน mktime () ส่งคืนการประทับเวลา Unix ที่ตรงกับอาร์กิวเมนต์ที่กำหนด การประทับเวลานี้เป็นจำนวนเต็มที่ยาวที่มีจำนวนวินาทีระหว่าง Unix Epoch (1 มกราคม 1970 00:00:00 GMT) และเวลาที่ระบุ อาร์กิวเมนต์อาจถูกทิ้งไว้ตามลำดับจากขวาไปซ้าย อาร์กิวเมนต์ใด ๆ ที่ละไว้จะถูกตั้งค่าเป็นค่าปัจจุบันตามวันที่และเวลาในท้องถิ่น
<?php
echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
?>
ผลลัพธ์: 1269820800
ขั้นตอนที่ 3
ตอนนี้รวมทั้งหมดและดูสิ่งนี้:
<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>
ผลลัพธ์: 29 มีนาคม 2553
การดำเนินการในทำนองเดียวกันเป็นไปได้ที่จะรับเวลาย้อนหลัง
<?php
$yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y")));
echo $yesterday;
?>
ผล: 20:00:00
หรือ 7 วันที่แล้ว:
<?php
$week = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-7,date("Y")));
echo $week;
?>
ผล: 2010-03-23
ลองดู
$tz = new DateTimeZone('Your Time Zone');
$date = new DateTime($today,$tz);
$interval = new DateInterval('P1D');
$date->sub($interval);
echo $date->format('d.m.y');
?>
วันที่เมื่อวานใน PHP:
echo date("Y-m-d", strtotime("yesterday"));
หากคุณกำหนดเขตเวลาในแอป PHP ของคุณ (เท่าที่ควร) ซึ่งคุณสามารถทำได้ด้วยวิธีนี้:
date_default_timezone_set('Europe/Paris');
จากนั้นก็ทำได้ง่ายๆดังนี้:
$yesterday = new DateTime('yesterday'); // will use our default timezone, Paris
echo $yesterday->format('Y-m-d'); // or whatever format you want
(คุณอาจต้องการกำหนดค่าคงที่หรือตัวแปรสภาพแวดล้อมเพื่อจัดเก็บเขตเวลาเริ่มต้นของคุณ)
ลองดู
<?php
$yesterday = date(“d.m.Y”, time()-86400);
echo $yesterday;
วิธี OOP อื่นสำหรับ DateTime พร้อมการตั้งค่าชั่วโมงที่แน่นอน:
$yesterday = new DateTime("yesterday 09:00:59", new DateTimeZone('Europe/London'));
echo $yesterday->format('Y-m-d H:i:s') . "\n";
คุณสามารถทำได้โดยใช้ห้องสมุดคาร์บอน :
Carbon::yesterday()->format('d.m.Y'); // '26.03.2019'
ในรูปแบบอื่น ๆ :
Carbon::yesterday()->toDateString(); // '2019-03-26'
Carbon::yesterday()->toDateTimeString(); // '2019-03-26 00:00:00'
Carbon::yesterday()->toFormattedDateString(); // 'Mar 26, 2019'
Carbon::yesterday()->toDayDateTimeString(); // 'Tue, Mar 26, 2019 12:00 AM'