Hướng dẫn dùng expiration time trong PHP

  1. Tính ngày hết hạn bằng PHP

    Trong CSDL mình có một cột là ngày hết hạn: expire, bây giờ mình muốn làm một trang mà hiện những ngày trước và sau khi hết hạn là 10 ngày, tức là 10 < expire < 10. Mình làm mãi mà không được.Mong các bạn giúp mình với....

  2. - trước tiên bạn cần lấy thời gian từ cơ sở dữ liệu ra rồi đổi ra ngày[ cái này dùng hàm date[] thì phải]
    - lầy ngày hiện tại.
    -> 10 < ngày hiện tại - ngày trong cơ sở dữ liệu < 10

  3. hu hu mình làm thế rồi mà sao ko đc?trong CSDL là theo kiểu yyyy/mm/dd đó bạn.Help me...

  4. bạn xem ở đây và chú ý tới date_format:
    //www.php.net/manual/en/ref.datetime.php
    Và giá trị là chuỗi ký tự nên ta cũng có thể sử lý kiểu string.

  5. Lấy ngày hết hạn trừ cho ngày hiện hành nếu =10 hoặc =-10 là lấy được hai trường hợp mà

  6. để thuận tiện cho đổi ngày tính ngày, về cơ bản phải lưu dạng số -> 11 ký tự int[11]
    dùng loại dữ liệu là timestamp
    lợi ích:
    - order by date -> index trên số nguyên siêu nhanh.
    -2 tính ngày : 1 ngày = 24 * 60 * 60 = 86400 -> là số nguyên -> cứ thế mà tăng giảm tính expired chưa bao giờ đơn giảm hơn
    - ví dụ: nhà đất

  7. Đơn giản mà

    Được gửi bởi loren

    Trong CSDL mình có một cột là ngày hết hạn: expire, bây giờ mình muốn làm một trang mà hiện những ngày trước và sau khi hết hạn là 10 ngày, tức là 10 < expire < 10. Mình làm mãi mà không được.Mong các bạn giúp mình với....

    Đơn giản mà, cho luôn cái code


  8. Mình cảm ơn các bạn nhiều nhé, mình làm như sau nhưng không lúc truy vấn thì không được:
    $firstday=date['Y-m-d', strtotime['-10 day']];
    $backday=date['Y-m-d', strtotime['+10 day']];
    sau đó truy vấn lấy điều kiện là: WHERE $firstday< expire < $backday
    các bạn cho mình ý kiến với thật sự là mình làm nhiều cách mà vẫn chưa có kêt quả.Nó giống với ví dụ của bạn "bancankhong" đó, nhưng sao mình làm không được ta huhu chắc truy vấn sai rồi...vì trong CSDL lưu ngày expire theo dạng là YYYY-mm-dd, Mong các bạn giúp đỡ

  9. Theo mình ngĩ bạn nên format lại database field theo kiểu DATE là tốt nhất. Sau đó code PHP theo như bạn loren nói ở trên.

    Chúc bạn thành công!

Chuyển đổi định dạng ngày tháng năm

Định dạng ngày giờ trong PHP, chuyển ngày hiện tại hiển thị với nhiều định dạng. Có 2 format ngày tháng năm chuẩn là: “m-d-Y”: month,day,year “Y-m-d”: year, month,day

Ví dụ chuyển từ Y-m-d sang d-m-Y

Làm thế nào tôi có thể so sánh hai ngày trong PHP?

Ngày được lưu trữ trong cơ sở dữ liệu theo định dạng sau

2011-10-2

Nếu tôi muốn so sánh ngày hôm nay với ngày trong cơ sở dữ liệu để xem cái nào lớn hơn, tôi sẽ làm thế nào?

Tôi đã thử nó

$today = date["Y-m-d"]; $expire = $row->expireDate //from dbif[$today "0", v.v.

Bạn đang xem: So sánh thời gian trong php

— Matthew nguồn 2 nhưng điều gì sẽ xảy ra nếu chúng trông như thế này, — 2011-10 / 14

Davo, sự so sánh dừng lại ở ký tự đầu tiên khác. Trong trường hợp này, chữ số thứ tư của "1" — Matthew 1 Tôi xin lỗi :], đã không đủ cẩn thận. — dav sẽ làm việc sau đây 2016-03-27 11:59:47 ::: 2016-03-14 10:30:00? — shorif2000 221

Nếu tất cả các ngày của bạn là sau ngày 1 tháng 1 năm 1970, bạn có thể sử dụng một cái gì đó như:

$today = date["Y-m-d"]; $expire = $row->expireDate;//from database $today_time = strtotime[$today]; $expire_time = strtotime[$expire];if[$expire_time = 5.2.0, bạn có thể sử dụng lớp DateTime:

$today_dt = newDateTime[$today]; $expire_dt =newDateTime[$expire];if[$expire_dt expireDate];//from databaseif[$today->format["Y-m-d"]format["Y-m-d"]]

Cập nhật: Hoặc đơn giản sử dụng hàm date -school old [] :

if[date["Y-m-d"] NOW []], do đó sẽ rất dễ dàng để so sánh trong Truy vấn và trả về kết quả, mà không có bất kỳ vấn đề nào tùy thuộc vào Loại ngày được sử dụng

SELECT IF[expireDate expireDate];// From db $date1=date_create[$today]; $date2=date_create[$expireDate->format["Y-m-d"]]; $diff=date_diff[$date1,$date2];//echo $timeDiff;if[$diff->days >=30]else

— Atif Mahmood nguồn 2

Đây là một cách để có được sự khác biệt giữa hai ngày trong vài phút.

// set dates $date_compare1= date["d-m-Y h:i:s a", strtotime[$date1]];// date now $date_compare2= date["d-m-Y h:i:s a", strtotime[$date2]];// calculate the difference $difference = strtotime[$date_compare1]- strtotime[$date_compare2]; $difference_in_minutes = $difference /60; echo $difference_in_minutes; — Đồng bộ nguồn Câu hỏi đang yêu cầu so sánh 2 ngày - câu trả lời của bạn là thêm một lượng nội dung bổ sung [nghĩa là đặt trạng thái trực tuyến / ngoại tuyến] không cần thiết như một câu trả lời cho câu hỏi. Phần câu trả lời của bạn trong đó việc so sánh diễn ra gần giống như câu trả lời đã có ở đây . — crazyloonybin Cập nhật câu hỏi, tôi đã đăng câu trả lời sai trong câu hỏi sai ^^;] Nó không giống như câu trả lời, chỉ cần thêm ý kiến ​​của tôi về cách so sánh chúng và nhận được sự khác biệt trong vài phút. — Syno 1 Tôi đã xóa downvote của tôi vì bản cập nhật của bạn, bây giờ trông khá hơn nhiều :] — crazyloonybin 2

Bạn có thể chuyển đổi ngày thành dấu thời gian UNIX và so sánh sự khác biệt giữa chúng trong vài giây.

$today_date=date["Y-m-d"]; $entered_date=$_POST; $dateTimestamp1 = strtotime[$today_date]; $dateTimestamp2 = strtotime[$entered_date]; $diff= $dateTimestamp1-$dateTimestamp2;//echo $diff;if[$diff

expireDate];//from dbif[[$today - $expire]> $NUMBER_OF_DAYS] — PiotrK nguồn Tại sao kỹ thuật này hoạt động nên được giải thích trong câu trả lời. — mickmackusa Vui lòng trả lời câu hỏi đã đăng của OP, không phải cách bạn giải quyết tình huống độc đáo của riêng bạn. — mickmackusa 0

Đây là guồng quay của tôi về cách có được sự khác biệt về số ngày giữa hai ngày với PHP. Lưu ý việc sử dụng "!" trong định dạng để loại bỏ phần thời gian của ngày, nhờ thông tin từ DateTime createdFromFormat mà không có thời gian .

Xem thêm: Hải Sản Phố Hà Nội - Hải Sản Phố Ở Quận Ba Đình, Hà Nội

$today =DateTime::createFromFormat["!Y-m-d", date["Y-m-d"]]; $wanted =DateTime::createFromFormat["!d-m-Y", $row]; $diff = $today->diff[$wanted]; $days = $diff->days;if[[$diff->invert]!= 0] $days =-1* $days; $overdue =[[$days expireDate; $date->add[new DateInterval["PT24H"]];// adds 24 hours $now =new \DateTime[];if[$now expireDate;if[$today

Chủ Đề