Tôi muốn lấy ngày hôm qua bằng cách sử dụng định dạng ngày cụ thể trong php, đây là định dạng:
$today = date("d.m.Y"); //15.04.2013
Có khả thi không?
Cân nhắc tháng và năm nếu chúng nên được thay đổi tương ứng.
Tôi muốn lấy ngày hôm qua bằng cách sử dụng định dạng ngày cụ thể trong php, đây là định dạng:
$today = date("d.m.Y"); //15.04.2013
Có khả thi không?
Cân nhắc tháng và năm nếu chúng nên được thay đổi tương ứng.
Câu trả lời:
đây bạn đi
date('d.m.Y',strtotime("-1 days"));
điều này cũng sẽ hoạt động nếu tháng thay đổi
bạn có thể làm điều này bằng cách
date("F j, Y", time() - 60 * 60 * 24);
hoặc bằng cách
date("F j, Y", strtotime("yesterday"));
Bước 1
Chúng ta cần dữ liệu định dạng đã đặt trong hàm date (): Hàm date () trả về một chuỗi được định dạng theo chuỗi định dạng đã cho bằng cách sử dụng dấu thời gian số nguyên đã cho hoặc thời gian hiện tại nếu không có dấu thời gian nào được đưa ra. Nói cách khác, dấu thời gian là tùy chọn và mặc định là giá trị của thời gian ().
<?php
echo date("F j, Y");
?>
kết quả: ngày 30 tháng 3 năm 2010
Bước 2
Đối với ngày "hôm qua", hãy sử dụng hàm php mktime (): Hàm mktime () trả về dấu thời gian Unix tương ứng với các đối số đã cho. Dấu thời gian này là một số nguyên dài chứa số giây giữa Kỷ nguyên Unix (ngày 1 tháng 1 năm 1970 00:00:00 GMT) và thời gian được chỉ định. Các đối số có thể được bỏ đi theo thứ tự từ phải sang trái; bất kỳ đối số nào bị bỏ qua sẽ được đặt thành giá trị hiện tại theo ngày và thời gian cục bộ.
<?php
echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
?>
kết quả: 1269820800
Bước 3
Bây giờ hợp nhất tất cả và nhìn vào điều này:
<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>
kết quả: ngày 29 tháng 3 năm 2010
Hoạt động tương tự, có thể nhận lại giờ thời gian.
<?php
$yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y")));
echo $yesterday;
?>
kết quả: 20:00:00
hoặc 7 ngày trước:
<?php
$week = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-7,date("Y")));
echo $week;
?>
kết quả: 2010-03-23
thử đi
$tz = new DateTimeZone('Your Time Zone');
$date = new DateTime($today,$tz);
$interval = new DateInterval('P1D');
$date->sub($interval);
echo $date->format('d.m.y');
?>
Ngày hôm qua bằng PHP:
echo date("Y-m-d", strtotime("yesterday"));
thử đi
<?php
$yesterday = date(“d.m.Y”, time()-86400);
echo $yesterday;
Nếu bạn xác định múi giờ trong ứng dụng PHP của mình (như bạn nên làm), bạn có thể thực hiện theo cách này:
date_default_timezone_set('Europe/Paris');
Sau đó, nó đơn giản như:
$yesterday = new DateTime('yesterday'); // will use our default timezone, Paris
echo $yesterday->format('Y-m-d'); // or whatever format you want
(Bạn có thể muốn xác định một hằng số hoặc biến môi trường để lưu trữ múi giờ mặc định của mình.)
Bạn cũng có thể thực hiện việc này bằng thư viện Carbon :
Carbon::yesterday()->format('d.m.Y'); // '26.03.2019'
Ở các định dạng khác:
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'