这是我的理由。我有一个名为License_expiration的表,其中我列出了许可证的到期日期。 我的问题是我如何获得显示在我的仪表板表中的到期日期-1个月?即时通讯使用html& css + php + mysql(mysqli)。
离。 2018/04/29 - 到期日。它应该出现在2018/03/29年的桌子上
答案 0 :(得分:0)
由此您可以在30天后获得到期日期
date_default_timezone_set('Australia/Kolkata');
$date = date('Y-m-d', time());
$expdate = date('Y-m-d', time()-(30*86400));
检查今天的日期是否等于$ expdate
答案 1 :(得分:0)
$expiration = '2018/04/29'; //fetch the expiration on the database in
$today = date('Y/m/d');
//convert to strtotime;
$convertExp = strtotime($expiration);
$convertDay = strtotime($today);
$timeleft = $convertExp - $convertDay;
$daysleft = round((($timeleft/24)/60)/60);
if($daysleft <= 30){
//display result here
}else {
//display none;
}
如果要显示多个。在数据库中获取数据时,在循环中添加它。
答案 2 :(得分:0)
假设您知道如何从License_expiration表中获取到期日期,您可以使用php将您的到期日期与当前日期进行比较
<?php
$row['expiration'] = '2018/04/7'; // get your data from query
$alert = new DateTime($row['expiration']);
$alert->modify( '-1 month' );
$now = new DateTime();
if ($now > $alert) {
// show expiration date only when less than one month
echo $row['expiration'];
}
如果您有多个到期日期,那么您可以尝试使用
// mysql select statement
"SELECT `expiration`, DATE_SUB(expiration, INTERVAL 1 month) AS alert FROM License_expiration"
<?php
$now = new DateTime();
WHILE ($row = $result->fetch_assoc()) {
$alert = new DateTime($row['alert']);
if ($now > $alert) {
// show expiration date only when less than one month
echo $row['expiration'];
}
}
如果您的日期格式是2018-04-29,那么只需:
<?php
$now = date('Y-m-d');
WHILE ($row = $result->fetch_assoc()) {
if ($now > $row['alert']) {
// show expiration date only when less than one month
echo $row['expiration'];
}
}