Làm cách nào để có được 30 ngày tiếp theo trong PHP?
Hàm strtotime trong PHP cực kỳ mạnh mẽ nhưng lại được sử dụng rất ít - chủ yếu là do một số khía cạnh có thể hơi khó hiểu và mọi người tự tin hơn 'làm mọi việc theo cách khó'. Hàm strtotime không chỉ chuyển đổi chuỗi ngày thành giá trị dấu thời gian mà còn có 'ngôn ngữ' riêng để cho phép bạn chỉ định bất kỳ ngày hoặc giờ nào bạn muốn Show
Tính ngày cho những ngày trong quá khứ và tương laiCác phép tính đơn giản và phổ biến nhất dựa trên giây, phút, giờ và ngày. Tháng và năm cũng là đầu vào hợp lệ nhưng không phải lúc nào cũng hữu ích trong tính toán vì chúng không có độ dài bằng nhau do cách thức hoạt động của lịch của chúng tôi Hiển thị bên dưới là kết quả của các chuỗi khác nhau được chuyển đến strtotime và được chuyển đổi thành chuỗi ngày Ví dụ echo date('l jS F (Y-m-d)', strtotime('-3 days')); 3 ngày trướcThứ năm 22 tháng 12 (22-12-2022)-3 ngàyThứ năm 22 tháng 12 (22-12-2022)-2 ngàyThứ sáu 23 tháng 12 (23-12-2022)hôm quaThứ bảy 24 tháng 12 (24-12-2022)nayChủ nhật 25 tháng 12 ( Như mọi khi, thường có nhiều cách khác nhau để đạt được cùng một kết quả. Trong danh sách trên, bạn có thể thấy rằng '3 ngày trước' tương đương với '-3 ngày'. Ngoài ra, 'hôm qua' giống như '-1 ngày' hoặc '1 ngày trước'. Có thể bỏ chữ 's' ở cuối 'ngày', 'năm' hoặc các phép đo khác nếu bạn muốn Các giá trị đầu vào 'bây giờ' và 'hôm nay' trong danh sách trên là không cần thiết vì nếu chúng ta bỏ qua tham số thứ hai của hàm ngày thì nó sẽ mặc định là thời điểm hiện tại Làm việc với các ngày trong tuầnĐôi khi chúng tôi làm việc với các ngày trong tuần và cần biết lần xuất hiện cuối cùng/tiếp theo của, ví dụ: Thứ Bảy -2 tuần Thứ BảyThứ Bảy ngày 17 tháng 12 (2022-12-17)Thứ Bảy tuần trướcThứ Bảy ngày 24 tháng 12 (24-12-2022)Thứ BảyThứ Bảy ngày 31 tháng 12 (31-12-2022)Thứ Bảy tuần nàyThứ Bảy ngày 31 tháng 12 (31-12-2022)Thứ Bảy đầu tiênThứ Bảy ngày 31 tháng 12 (Trong danh sách trên, chúng ta có thể thấy rằng 'Saturday', 'this Saturday' và 'first Saturday' đều tương đương nhau. Từ khóa 'này' và 'đầu tiên' chỉ được sử dụng để cải thiện khả năng đọc Bây giờ nó trở nên hơi phức tạp để giải thích. Sau đây xuất hiện trên trang web PHP Trong PHP 5 lên đến 5. 0. 2, "bây giờ" và các thời gian tương đối khác được tính sai từ nửa đêm hôm nay. Nó khác với các phiên bản khác ở chỗ nó được tính toán chính xác từ thời điểm hiện tại Ngoài ra, họ đã giới thiệu 'thứ hai' như trong 'thứ bảy thứ hai' và dường như đã thay đổi ý nghĩa của 'tiếp theo' thành nghĩa giống như 'thứ nhất'. Cuối cùng, giá trị trả về khi thất bại giờ là FALSE thay vì -1. Thay đổi cuối cùng này có nhiều khả năng gây ra sự cố nhất trong các ứng dụng cũ Bảng dưới đây cho thấy đầu ra đã thay đổi như thế nào Các phiên bản cũ hơn của PHP. PHP5. 0. 2 và cao hơn
Sử dụng offset để có được ngày phù hợpMột vấn đề khác là khi bạn muốn tìm sự xuất hiện trước đó hoặc tiếp theo của một ngày nào đó trong tuần. Ví dụ: hôm nay là Chủ nhật, chúng ta có thể chạy như sau chủ nhật tuần trướcChủ nhật ngày 18 tháng 12 (2022-12-18)Chủ nhậtChủ nhật ngày 25 tháng 12 (25-12-2022)Chủ nhật tuần nàyChủ nhật ngày 25 tháng 12 (25-12 (2022-12-25)Chủ nhật đầu tiênChủ nhật ngày 1 tháng 1 (2023-01-01)Chủ nhật tuần sauChủ nhật ngày 1 tháng 1 (2023- . PHP5. 0. 2 và cao hơn
Bạn có thể thấy trong bảng trên, trong khi 'next Sunday' trả về kết quả tương tự, thì 'first', 'second', 'third',. tất cả các công cụ sửa đổi đã thay đổi ý nghĩa - rất may là ở trạng thái hợp lý hơn Bạn cũng có thể nhận thấy rằng điều này chỉ xảy ra khi bạn đang tính toán từ ngày hiện tại chứ không phải trong các ví dụ trước (trừ khi hôm nay là Thứ Bảy). Bất cứ khi nào bạn tính toán dựa trên số ngày, bạn nên kiểm tra càng nhiều khả năng càng tốt. Hôm nay nó có hoạt động không? Đôi khi bạn muốn tìm lần xuất hiện cuối cùng của một ngày trước ngày hôm nay hoặc trước ngày hôm qua hoặc trước 2 ngày trước. Các ví dụ sau đây cho thấy cú pháp bạn có thể sử dụng cho việc này Bây giờ bạn đã hiểu hoạt động bên trong của strtotime, bạn sẽ có thể giảm đáng kể số lượng mã cần thiết để tính ngày trong quá khứ và tương lai Kiểm tra xem một ngày trong Quá khứ hay Tương laiHàm strtotime trả về một giá trị số nguyên nên việc xem một ngày là quá khứ hay tương lai là một vấn đề đơn giản if(strtotime(dateString) > time()) { # date is in the future } if(strtotime(dateString) < time()) { # date is in the past } if(strtotime(dateString) == time()) { # date is right now } Ghi chú. time() tương đương với date('U') và trả về dấu thời gian hiện tại đến giây gần nhất Bạn có thể muốn thay time() bằng strtotime('0. 00') nếu bạn muốn so sánh chuỗi ngày với ngày hiện tại thay vì ngày và giờ hiện tại Làm cách nào để có được 30 ngày trước ngày trong PHP?strtotime('-30 days') là đủ.
Làm cách nào để thêm 30 ngày cho đến nay trong PHP?Việc thêm ngày vào $Date có thể được thực hiện theo nhiều cách. Rất dễ thực hiện bằng cách sử dụng các hàm có sẵn như strtotime(), date_add() trong PHP. Phương pháp 1. Sử dụng hàm strtotime(). Hàm strtotime() được sử dụng để chuyển đổi mô tả ngày giờ bằng văn bản tiếng Anh thành dấu thời gian UNIX.
Làm cách nào để có được tháng tiếp theo của một ngày trong PHP?date('Y-m-t', strtotime('+1 thang'));
Làm cách nào để có được ngày tháng trong PHP?Hàm cal_days_in_month() trả về số ngày trong một tháng cho một năm và lịch cụ thể. |