簡體   English   中英

每月固定日期之間的PHP日期

[英]PHP date between fixed day of every month

我不是PHP專家,但我會嘗試學習。 以下也使我感到困惑。

我想從當月的特定日期起兩個月內在我的SQL中搜索結果

可以說今天是2013年8月15日,我希望結果顯示為2013年7月15日至2013年8月15日或當前日期。 但必須從上個月的15日開始。

$first = date('Y-m-15');
$last = date('Y-m-15'); //Not sure if i should change this to $last = date('Y-m-t');

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
        $query = "SELECT * FROM pearson_lbs_log WHERE date_time  >=  '" .    
 $first . "' 
 AND date_time  <= '" . $last . "' ORDER BY date_time DESC";
 $result = mysql_query($query);
 echo " ".mysql_num_rows($result)." ";
 ?>

這是出於會計目的,但是我的帳戶從每個月的15號開始運行

我很高興看到我登錄時的帳戶名稱,這就是為什么我希望將結束日期作為當前日期

該代碼現在可以工作:

$first = date('Y-m-15', strtotime("$last -1 month"));
$last = date('Y-m-t'); 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
        $query = "SELECT * FROM pearson_lbs_log WHERE date_time  >=  '" .    
$first . "' 
AND date_time  <= '" . $last . "' ORDER BY date_time DESC";
$result = mysql_query($query);
echo " ".mysql_num_rows($result)." ";
?>

您可以使用php來做,試試這個:

$last=   date('Y-m-15');
$first=  date('Y-m-15', strtotime("$last -1 month")); 

或在mysql中,嘗試以下操作:

where date_time >= date_sub(now() interval 1 month)

做就是了:

<?php
$last = date('Y-m-15');
$month-today = date('m'); //get the current month

$lastmonth = $month-today - 1; //subtract one from this month to get last month
if($lastmonth == 00){ //in the case of January and December, December would be 00 (01 - 1 = 00)
$lastmonth = 12;
} 

$first = date('Y')."-".$lastmonth."-15"; //calculate the full variable in Y/lmonth/15 format

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
    $query = "SELECT * FROM pearson_lbs_log WHERE date_time  >=  '" .    
    $first . "' 
    AND date_time  <= '" . $last . "' ORDER BY date_time DESC";
$result = mysql_query($query);
echo " ".mysql_num_rows($result)." ";
?>

新行將在代碼中作為注釋進行解釋。

希望對您有所幫助!

暫無
暫無

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

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