ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルで 2 つの日付を比較する
2 つの日付を比較します
YMD はデータベース内で番号に分割されています。たとえば、Y=2020 M=1 D=1
今取り出してみると、 daydiff=date( "$nowyr"."$nowmon"."$nowdt") - date("Ymd");
と表示されます。
しかし、この減算後のデジタル演算はマイナスになります、202011-20090305
20200101-20090305に変換するにはどうすればよいですか
つまり、データベースから取得した時刻と現在時刻を比較し、日付が現在時刻より後の場合は正、そうでない場合は負になります。
ヒーローたちを助けてください。
ベストアンサー[url=http://www.111cn.cn/bbs/space.php?username=doing]リンクタグ実行中[/url]
[url=http://www.111cn.cn/bbs/space.php?uid=97304]リンクタグ[img]http://www.111cn.cn/server/avatar.php?uid=97304&size=small[ /img][/url]$onetime = "2010-01-01 00:00:00";
if((strtotime($onetime)-time())
{
//
}
elseif((strtotime($onetime)-time())>0)
{
//
}
それ以外
{
//
}
D8888D 返信内容 -------------------------------------------------- -----------------------
$onetime = "2010-01-01 00:00:00";
if((strtotime($onetime)-time())
{
//
}
elseif((strtotime($onetime)-time())>0)
{
//
}
それ以外
{
//
}
D8888D 返信内容 -------------------------------------------------- -----------------------
それを行わない場合は、タイムスタンプ[img]http://www.111cn.cn/bbs/images/smilies/default/victory.gif[/img]に変換することを検討できます
D8888D 返信内容 -------------------------------------------------- -----------------------
試してみましたが、エラーになりました
echo date ("M-d-Y", mktime (0,0,0,$nowdt,$nowmon,$nowyr))-date("Ymd");
D8888D 返信内容 -------------------------------------------------- -----------------------
$nowyr = 2020;
$nowmon = 1;
$nowdt = 1;
echo date( sprintf("%04d%02d%02d", $nowyr, $nowmon, $nowdt)) - date("Ymd");
コードをコピー
D8888D 返信内容 -------------------------------------------------- -----------------------
タイムスタンプああ
D8888D 返信内容 -------------------------------------------------- -----------------------
mktime (0,0,0,$nowdt,$nowmon,$nowyr) - time()
D8888D 返信内容 -------------------------------------------------- -----------------------
タイムスタンプ
D8888D 返信内容 -------------------------------------------------- -----------------------
ちなみに日付を保存する場合は、日付から日付を引くと年月日の切り上げがバラバラになり、減算した値も意味がありません
。
D8888D 返信内容 -------------------------------------------------- -----------------------
$daydiff=(strtotime(date("$nowyr"."-"."$nowmon"."-"."$nowdt")) - strtotime(date("Y-m-d")))/86400;
こうやって書いてみると固定の数値でテストするのは問題なさそうですが、年月日の桁数が違う場合はうまくいかないことがあります。なぜ!まだ分からない。 。 。 。 。 。 。 。