Việc chuyển chuỗi “ngày hôm qua” sang strtotime về cơ bản giống như việc trừ đi “-1 ngày” từ ngày hôm nay
Đây là một thay thế DateTime, bạn có thể sử dụng nếu phiên bản PHP của bạn là 5. 3. 0 trở lên
//New DateTime object representing today's date. $currentDate = new DateTime[]; //Use the sub function to subtract a DateInterval $yesterdayDT = $currentDate->sub[new DateInterval['P1D']]; //Get yesterday's date in a YYYY-MM-DD format. $yesterday = $yesterdayDT->format['Y-m-d']; //Print it out. echo $yesterday;
PHP đã giới thiệu đối tượng DateInterval trong phiên bản 5. 3. 0. Đối tượng này đại diện cho một khoảng ngày
Trong ví dụ trên, chúng tôi đặt đối tượng DateInterval thành P1D, có nghĩa là khoảng thời gian một ngày. Sau đó, chúng tôi đã trừ khoảng thời gian đó từ ngày hiện tại
Nếu bạn muốn trừ năm ngày thay vì một ngày, thì bạn có thể sử dụng P5D thay vì P1D
Nếu bạn muốn trừ một ngày từ một ngày nhất định
//Pass the date you want to subtract from in as //the $time parameter for DateTime. $currentDate = new DateTime['2019-01-01']; //Subtract a day using DateInterval $yesterdayDT = $currentDate->sub[new DateInterval['P1D']]; //Get the date in a YYYY-MM-DD format. $yesterday = $yesterdayDT->format['Y-m-d']; //Print it out. echo $yesterday;
Trong ví dụ trên, chúng tôi đã trừ đi một ngày từ 2019-01-01. Điều này dẫn đến “2018-12-31”
trừ 7 ngày
Để lấy ngày của tuần trước trong PHP, chúng ta có thể sử dụng hàm strtotime như sau
//7 days ago - last week. $lastWeek = date["Y-m-d", strtotime["-7 days"]]; //On 2019-08-19, this resulted in 2019-08-12 echo $lastWeek;
Trong trường hợp này, chúng tôi đã chuyển "-7 ngày" làm tham số cho hàm strtotime
Điều này hoạt động vì chức năng strtotime khá tốt trong việc phân tích các mô tả ngày văn bản
Đây là một giải pháp thay thế cho những bạn thích sử dụng đối tượng DateTime
//Today's date. $currentDate = new DateTime[]; //Subtract a day using DateInterval $lastWeekDT = $currentDate->sub[new DateInterval['P1W']]; //Get the date in a YYYY-MM-DD format. $lastWeek = $lastWeekDT->format['Y-m-d']; //Print out the result. echo $lastWeek;
Ở trên, chúng tôi đặt “P1W” làm tham số $interval_spec cho DateInterval. Điều này có nghĩa là “khoảng thời gian một tuần. ”
Nếu bạn muốn trừ hai tuần thay vì một, thì bạn có thể thay đổi “P1W” thành “P2W”
Tháng trước / -30 ngày
Lấy ngày tháng trước có thể phức tạp. Điều này là do số ngày trong một tháng có thể thay đổi
Ví dụ tháng 10 có 31 ngày, tháng 9 có 30 ngày.
Lấy ví dụ sau
//Last month $lastMonth = date["Y-m-d", strtotime["-1 month"]]; //On 2019-08-19, this resulted in 2019-07-19 echo $lastMonth;
Đoạn mã trên sẽ hoạt động trong hầu hết các tình huống
Tuy nhiên, vào ngày 31 tháng 10, chức năng này sẽ thực sự trả về “ngày 1 tháng 10” thay vì “ngày 30 tháng 9”
Điều này là do hàm strtotime của PHP xử lý “-1 tháng” giống như “-30 ngày. ”
Nếu bạn muốn lấy tên hoặc số của tháng trước, thì bạn sẽ cần sử dụng mã sau để thay thế
Cụm vấn đề kỹ thuật được trả lời lần đầu vào ngày 3 tháng 6 năm 2021 Mức độ phổ biến 9/10 Độ hữu ích 6/10
làm thế nào để có được n ngày kể từ hôm nay trong php
Mức độ phổ biến 9/10 Tính hữu ích 6/10 Ngôn ngữ php
php lấy tất cả các ngày của một ngày cụ thể trong một năm
Mức độ phổ biến 6/10 Tính hữu ích 1/10 Ngôn ngữ php
Cụm vấn đề kỹ thuật được trả lời lần đầu vào ngày 3 tháng 6 năm 2021 Mức độ phổ biến 9/10 Độ hữu ích 6/10
làm thế nào để có được n ngày kể từ hôm nay trong php
Mức độ phổ biến 9/10 Tính hữu ích 6/10 Ngôn ngữ php
php lấy tất cả các ngày của một ngày cụ thể trong một năm
Mức độ phổ biến 6/10 Tính hữu ích 1/10 Ngôn ngữ php
Chúng tôi đã trừ ba ngày từ ngày đã cho bằng cách sử dụng hàm DATE_SUB[]. Thay cho NGÀY, chúng ta có thể sử dụng Tháng, năm, giờ, phút, giây, v.v., đây là danh sách
đơn vị Giá trị Expr được mong đợi. _______________ Truy vấn thứ hai phụ thuộc vào ngày hôm nay, vì vậy kết quả của bạn sẽ khácĐôi khi chúng tôi phải thu thập dữ liệu trong 7 hoặc 15 ngày hoặc X ngày [hoặc tháng, năm hoặc tuần] từ bảng MySQL
Video hướng dẫn truy vấn ngày bằng CURDATE, BETWEEN , YEAR, MONTH, DAYOFWEEK[]
Ví dụ: hãy để chúng tôi tìm ra ai là thành viên mới tham gia diễn đàn của chúng tôi vào tuần trước. Một cửa hàng có thể muốn biết các sản phẩm mới được thêm vào trong một tháng qua. Những cuốn sách đã đến trong một năm qua là gì. Ở đây, bất kể giá trị ngày là gì, chúng tôi muốn các bản ghi của X ngày trước kể từ hôm nay hoặc chúng tôi có thể nói rằng các bản ghi giữa hôm nay và X ngày trước [ tháng , năm hoặc tuần] là bắt buộc
Chúng ta sẽ sử dụng hàm MySQL CURDATE[] để lấy ngày hôm nay
Để có được sự khác biệt trong ngày hôm nay và ngày hoặc tháng trước đó, chúng ta phải sử dụng hàm MySQL DATE_SUB
DATE_SUB là một hàm MySQL lấy biểu thức ngày, khoảng thời gian và hằng số để trả về giá trị ngày để tính toán thêm