SOでこれに似たトピックについて何百もの質問と回答を見つけましたが、特に私のニーズに一致するものはなく、困惑しています。
ymd形式の変数があり、それが前の暦日(24時間前ではなく、前の暦日)に作成されたかどうかを確認する必要があります。
すなわち。$ tDate = '12-05-2';
オブジェクトが2012年5月2日午後11時59分(保存時刻)に作成された場合、真に等しくするには、2012年5月3日午前12時1分(現在時刻)と比較する必要があります。
オブジェクトが2012年5月2日午後11時51分(保存時刻)に作成された場合、falseに等しくなるように2012年5月2日午後11時58分(現在時刻)と比較する必要があります。
これらがMySQLデータベースに保存され、フィールドから取得された場合、MySQLはそれを簡単に理解できます。ただし、この場合、その解決策はオプションではありません。
この比較は完全にphpで行う必要があります。
私はそれが風変わりな質問であることを知っています、しかしねえ、それはStackOverflowの第一人者が優れていることです!返信を楽しみにしています!
アップデート
これを次のように理解しました:
$dTest = '12-05-02';
$dTest = explode('-',$dTest);
$dTest2 = date('y-m-d');
$dTest2 = explode('-',$dTest2);
if ($dTest[2]<$dTest2[2]){
echo '<br />Posted Yesterday<br />';
} else {
echo '<br />Posted Today<br />';
}
より効率的な解決策はありますか?うまくいくようですが、もっと最適でエレガントな解決策があるはずだと思いますか?
解決済み
$tHolder = '12-05-12';
$voteDate = date("y-m-d", strtotime($tHolder));
$today = date("y-m-d", strtotime("today"));
if ($voteDate === $today)
{
echo "this was today's post";
}
elseif ($voteDate < $today)
{
echo "this was previous to today";
}