有効期限が7日以内であることを確認するにはどうすればよいですか?日付が今から7日以内であるかどうかを確認
有効期限の形式は次のようになります。2016年4月13日
私はここのコードを持っているが、それは動作しません:
if($record->$c < date('Y-m-d', strtotime('-7 day'))){
// this is true
}
ホープ誰も私を助けることができます。
有効期限が7日以内であることを確認するにはどうすればよいですか?日付が今から7日以内であるかどうかを確認
有効期限の形式は次のようになります。2016年4月13日
私はここのコードを持っているが、それは動作しません:
if($record->$c < date('Y-m-d', strtotime('-7 day'))){
// this is true
}
ホープ誰も私を助けることができます。
ちょうどその86400で割り、あなたの減算を行い、UNIXタイムスタンプに両方の単位を変換:
$expiry_date = '2016-04-18';
$today = time();
$interval = strtotime($expiry_date) - $today;
$days = floor($interval/86400); // 1 day
if($days < 7) {
echo 'less';
}
それともDateTime
クラスと別の方法:
$expiry_date = '2016-04-18';
$expiry_date = new DateTime($expiry_date);
$today = new DateTime();
$interval = $today->diff($expiry_date);
$day = $interval->format('%r%a');
if($day < 7) {
echo 'less';
}
例条件:
$expiry_date = '2016-04-18';
$today = time();
$interval = strtotime($expiry_date) - $today;
$day = floor($interval/86400); // 1 day
if($day >= 1 && $day < 7) {
echo 'between 1 - 7 days';
} elseif($day <= 0) {
echo 'deadline';
} else {
echo 'soon';
}
あなたがしようとしていることに応じて、ちょうど変更/調整してください。
はdate_diff()
機能を探索オススメ:
http://php.net/manual/en/function.date-diff.php
私の挑戦は異なっていた:
// Count days is date range
function count_days_in_range($date1, $date2) {
$date1 = date_create($date1);
$date2 = date_create($date2);
$interval = date_diff($date1, $date2);
$days = $interval->days;
return $days;
}
しかし、この機能は、生活がより簡単になります。
私は後者のコード@Ghostを試しましたが、これから7日以内の未来の日付ではエコーが少なくなるように動作しているようですが、これから7日後。 – zen
@zenちょうどそれのための別の条件を作る、あなたが有効期限を超えている場合は、それを過ぎて行くのはもちろんです。私はちょうどそれの基本的な比較を示して、unixのタイムスタンプを比較するか、またはdatetimeを使用して – Ghost
@zenちょうど1と7の間のように追加して、その否定的なものが過去の有効期限または何かを言う場合 – Ghost