簡體   English   中英

從PHP中的MYSQL日期變量減去7天?

[英]Minus 7 days from MYSQL date variable in PHP?

我有一個腳本,用於計算自數據庫中存儲開始日期以來已經過了多少天。 從理論上講,用戶注冊並有7天的時間可以完成注冊,從管理員的角度來看,此腳本用於監視用戶的注冊位置以及自注冊以來已經過了多少天。

因此,在此示例中,我們為用戶提供了7天的寬限期。 像是“((過去7天中有多少天過去了”)

然后,在7天后應更改為過期天數。 因此,如果用戶有7天要完成,而他們需要8天,那么這將考慮前7天的寬限期,然后有1天的過期日期。

因此,例如,它應該回顯“逾期1天”,而不是它當前正在做什么並說逾期8天,我正在嘗試通過減去前7天來做到這一點。

有人告訴我這將有所幫助,但是我無法使其與我的日期變量一起使用

$pre_date=date('Y-m-d', strtotime('-7 days'));

這是我的強制代碼,請有人可以告訴我我要去哪里了

<?php include 'config.php';
     $data = mysql_query("SELECT *,
                            TIMESTAMPDIFF(DAY, date, CURDATE()) AS expire_date
                          FROM supplier_session
                          ORDER BY expire_date ASC") 
     or die(mysql_error()); 

     echo "<table class=\"table\" style=\"width:995px;  font-family: 'Lucida Grande', Tahoma, Verdana, Arial, sans-serif;
     font-size:11px;\" >

<tr>
    <td style=\"width:100px;\">ID:</td><td>Company Name:</td><td>Company Reg No:</td><td>Application Started:</td><td style=\"width:200px;\">Application Duration:</td><td style=\"width:100px;\">Date:</td><td>Status:</td></tr>";


     while($row = mysql_fetch_array( $data )) { 
       $days = $row['expire_date'];
       $when = $days*0; 
       $str = $row['expire_date'];
       $str2 = substr($str, 0); // "quick brown fox jumps over the lazy dog."

       $pre_date=date('Y-m-d', strtotime('-7 days'));

       if ($when <= 31){
         echo "<tr><td style=\"width:100px;\"><p>".$row['id'] . "</p></td>"; 
         echo "<td style=\"width:150px;\"><p>".$row['company_name'] . "</p></td>"; 
         echo "<td style=\"width:150px;\"><p>".$row['company_reg_number'] . "</p></td>";
         echo "<td>"; echo date('d/m/Y',strtotime($row['date'])); echo "</td>";

         if ($days >= 8) {
            echo "<td style=\"width:200px;\"><p>{$pre_date} days overdue</td>";      
         }

        elseif ($when <= 7){
             echo "<td style=\"width:200px;\"><p>{$str2} of 7 days past</td>";
          }

        }

        echo "<tr>";
      }

      echo "</table>"; //Close the table in HTML
    ?>

我認為您的功能有誤

$pre_date=date('Y-m-d', strtotime('-7 days'));

例如,您可以嘗試像這樣使用somth

$datetime = date("Y-m-d", strtotime( date( 'Y-m-d' )." +2 days"));

函數結果如下:

2014-05-08

另外還有更多信息,您需要什么:

單擊。

用unixtime看起來像那樣。 我們以秒為單位計算兩個日期之間的差值,然后將其除以一天中的秒數

<?php
date_default_timezone_set('UTC');
$now_time = time();
$date_before =  time()-(7*24*60*60);// 7 days; 24 hours; 60 mins; 60secs
echo($now_time);
echo('<br>');
echo($date_before);
echo('<br>');
$difference = $now_time - $date_before;
$result = intval($difference/(24*60*60)); //seconds in day
echo($difference);
echo('<br>');
echo($result);

您還可以從以下日期獲取時間:

$unixtime = strtotime('22-09-2008');

您忘記了將date變量傳遞給strtotime,因此您總是要減去實際日期7天,結果是8天。

嘗試減去實際日期減去到期日期,以獲得過去的天數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM