ホームページ >バックエンド開発 >PHPチュートリアル >PHP はトランザクションの開始から現在時刻までの日数を判断し、指定された日数を超えているかどうかを判断します。

PHP はトランザクションの開始から現在時刻までの日数を判断し、指定された日数を超えているかどうかを判断します。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-20 12:39:241179ブラウズ

    <table class="tablelist">    	<thead>    	<tr>        <th>提现用户</th>        <th>金额</th>        <th>状态</th>		<th>开始交易时间</th>		<td><strong>当前交易天数</strong></td>		<td>当前已超出付款日期</td>		</tr>        </thead>        <tbody>				<foreach name='list' item='v'>        <tr>		 <td>{$v.g_user}		    </td>                <td>{$v.jb}		</td>        <td><if condition="$v.zt eq 0" >待付款</if>											<if condition="$v.zt eq 1" >已付款</if>											<if condition="$v.zt eq 2" >交易成功</if></td>        <td>{$v.date}</td>        <td><p>开始到目前的天数</p>          <p>现在时间-开始日期{$v.date}=交易天数</p></td>        <td>这里如果当前天数超出2天则显示“<span class="STYLE1">已超出</span>”</td>        </tr>        </foreach>        </tbody>    </table>

{$v.date} の取引開始時刻と現在の時刻の間の日数を求める方法 date('y-m-d h:i:s',time());これまで取引されていましたか? この {$v.date} はデータベース レコードの読み取りが開始された時刻です。


もう 1 つあります。指定された日数を 2 日超えた場合です。 、別の A04a9424aea79d7e9b86559d6a25ece7c に「指定された時間が超過したため、トランザクションが停止されました。」04a9424aea79d7e9b86559d6a25ece7c
解決するのに時間がかかりました。コード リファレンスを教えてください。 🎜>


ディスカッションへの返信 (解決策)

4ec11beb6c39d0703d1751d203c17053


function getDays(strDateStart,strDateEnd){
var strSeparator = "-"; //日付区切り文字
var oDate1; var oDate2; 🎜> var iDays; oDate1= strDateStart .split(strSeparator);
oDate2= strDateEnd.split(strSeparator); oDate1[2]);
var strDateE = new Date(oDate2[0], oDate2[1]-1, oDate2[2]);
iDays = parseInt(Math.abs(strDateS - strDateE) / 1000 / 60 / 60 /24)//差を計算します ミリ秒を日に変換します
return iDays ;
}


alert(getDays("2012-12-01","2012- 12-25"));


Oralert(getDays("2012-12-01","2012-12-25")); 日付を {$v.date に変更する方法}

alert(getDays( "2012-12-01","{$v.date}")); これは機能しません、取得できません




誰もその方法を知りませんか? .....

テンプレート内で計算を処理しないのが最善だと思いますが、データ側で v に複数の日を加算すると、テンプレートを直接表示する方が良いでしょう。

$days = (int)((time()-strtotime($v.date))/(3600*24));


計算はテンプレート内で処理せず、データ側で v に複数の日を追加してから、直接追加するのが最善だと思います。テンプレートの方が表示が良くなります。

$days = (int)((time()-strtotime($v.date))/(3600*24));
私は 9c4094f4110cedf2eaede16d3dd05a2eb6c5a531a458a2e790c1fd6421739d1c64102ff1eb0719ca97b75dd999359202b90dd5946f0946207856a8a37f441edf を呼び出します (TP フレームワークであるため、キャッシュされた php があります)


それでも 16818 日の差が表示されますが、これは間違っています。 !





計算はテンプレートではなくデータ側で処理し、複数の値を追加するのが最善だと思いますから v 日までの場合は、テンプレートに直接表示することをお勧めします。


私は $days = (int)((time()-strtotime($v.date))/(3600*24));
次に、b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1c64102ff1eb0719ca97b75dd999359202b90dd5946f0946207856a8a37f441edf を呼び出します (TP フレームワークであるため、キャッシュされた php があります)

それでも 16818 日の差が表示されますが、これは間違っています。 !

これはあなたの $v.date に価値がないことを示しています






私計算をテンプレートで処理するのではなく、データ側で v に複数の日を追加して、テンプレートに直接表示する方がよいと思います。


私は

$days = (int)((time()-strtotime($v.date))/(3600*24));
次に、b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1c64102ff1eb0719ca97b75dd999359202b90dd5946f0946207856a8a37f441edf を呼び出します (TP フレームワークであるため、キャッシュされた php があります)

それでも 16818 日の差が表示されますが、これは間違っています。 !


これは、$v.date に値がないことを示しています
td >b6c5a531a458a2e790c1fd6421739d1c{$v.date}b90dd5946f0946207856a8a37f441edf データベースの DETE フィールドの値を表示できます。
(2016-01-08 13:14:46)




$days = (int)((time()-strtotime($v.date))/(3600*24));


我觉得你这个计算最好不要在模版中处理,而是在数据端处理,在v中加多个days,然后在模版直接显示比较好。

  

我在页面上加入010c86c2eae75819ef808258e234a9e9


然后调用 b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1c24d74cf1de7efbf8c13a213f33bb057db90dd5946f0946207856a8a37f441edf 是在同一个html(因为是TP框架所以有缓存的php) 

还是显示相差天数16818天,不对啊!!     
这一看就是你$v.date没值 
           
$v.date有值的;是数据库DETE字段的值,我单独在html中用  b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1c{$v.date}b90dd5946f0946207856a8a37f441edf可以显示数据库 DETE字段的值是
(2016-01-08 13:14:46 )

你在php里面用$v.date..  试试$v['date']吧  
这种东西尽量写在controller里面  或者写个function也好





$days = (int)((time()-strtotime($v.date))/(3600*24));


我觉得你这个计算最好不要在模版中处理,而是在数据端处理,在v中加多个days,然后在模版直接显示比较好。

  

我在页面上加入010c86c2eae75819ef808258e234a9e9


然后调用 b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1c24d74cf1de7efbf8c13a213f33bb057db90dd5946f0946207856a8a37f441edf 是在同一个html(因为是TP框架所以有缓存的php) 

还是显示相差天数16818天,不对啊!!     
这一看就是你$v.date没值 
           
$v.date有值的;是数据库DETE字段的值,我单独在html中用  b90dd5946f0946207856a8a37f441edfb6c5a531a458a2e790c1fd6421739d1c{$v.date}b90dd5946f0946207856a8a37f441edf可以显示数据库 DETE字段的值是
(2016-01-08 13:14:46 )

你在php里面用$v.date..  试试$v['date']吧  
这种东西尽量写在controller里面  或者写个function也好

那个是我刚试试不行,我是想在JS中用{$v.date}
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。