如何收集 php 中特定日期值的日期?
How to collect dates with respect to specific date value in php?
我想向客户显示有关本月到期金额的消息,以便他可以续订。
续费时间从到期金额的最后一个月开始计算,即:
$renewDate = date("Y-m-d", strtotime("-1 month", $currentdate));
我有
有效期: 金额
2019-11-31: 15
2019-11-22: 20
2020-5-12: 30
2019-11-2: 10
如何只收取不低于更新日期且在上一个月范围内的金额。
假设您有一个包含到期日期的数组:
$arr = [
0=>[
'date' => '2019-12-31',
'amount' => 15
],
1=>[
'date' => '2019-12-22',
'amount' => 22
],
2=>[
'date' => '2020-5-12',
'amount' => 33
],
3=>[
'date' => '2019-10-2',
'amount' => 6
],
];
然后我们遍历数组,获取每个日期并使用 strtotime() 将其转换为减去 1 个月并将其与 2 条件进行比较 - 如果日期大于今天日期的 strtotime() 且小于 strtotime()今天日期+1个月的我们满足范围条件并保存数据:
$data = [];
foreach ($arr as $key => $value) {
if(strtotime(date('Y-m-d')) <= strtotime($value['date'].'-1 month') &&
strtotime(date('Y-m-d').'+1 month') >= strtotime($value['date'].'-1 month'))
{
$data[] = $value;
}
}
var_dump($data);
通过研究@Angel 的答案,我明白了:
$arr = [
0=>[
'date' => '2019-12-1',
'amount' => 15
],
1=>[
'date' => '2019-11-31',
'amount' => 22
],
2=>[
'date' => '2019-11-27',
'amount' => 22
],
3=>[
'date' => '2019-11-12',
'amount' => 33
],
4=>[
'date' => '2019-10-2',
'amount' => 6
],
];
$data = [];
foreach ($arr as $key => $value) {
if(strtotime(date('Y-m-d')) <= strtotime($value['date']) &&
strtotime(date('Y-m-d').'+1 month') >= strtotime($value['date']))
{
$data[] = $value;
}
}
echo "<pre>";
print_r($data);
echo "<pre>";
我想向客户显示有关本月到期金额的消息,以便他可以续订。 续费时间从到期金额的最后一个月开始计算,即:
$renewDate = date("Y-m-d", strtotime("-1 month", $currentdate));
我有
有效期: 金额
2019-11-31: 15
2019-11-22: 20
2020-5-12: 30
2019-11-2: 10
如何只收取不低于更新日期且在上一个月范围内的金额。
假设您有一个包含到期日期的数组:
$arr = [
0=>[
'date' => '2019-12-31',
'amount' => 15
],
1=>[
'date' => '2019-12-22',
'amount' => 22
],
2=>[
'date' => '2020-5-12',
'amount' => 33
],
3=>[
'date' => '2019-10-2',
'amount' => 6
],
];
然后我们遍历数组,获取每个日期并使用 strtotime() 将其转换为减去 1 个月并将其与 2 条件进行比较 - 如果日期大于今天日期的 strtotime() 且小于 strtotime()今天日期+1个月的我们满足范围条件并保存数据:
$data = [];
foreach ($arr as $key => $value) {
if(strtotime(date('Y-m-d')) <= strtotime($value['date'].'-1 month') &&
strtotime(date('Y-m-d').'+1 month') >= strtotime($value['date'].'-1 month'))
{
$data[] = $value;
}
}
var_dump($data);
通过研究@Angel 的答案,我明白了:
$arr = [
0=>[
'date' => '2019-12-1',
'amount' => 15
],
1=>[
'date' => '2019-11-31',
'amount' => 22
],
2=>[
'date' => '2019-11-27',
'amount' => 22
],
3=>[
'date' => '2019-11-12',
'amount' => 33
],
4=>[
'date' => '2019-10-2',
'amount' => 6
],
];
$data = [];
foreach ($arr as $key => $value) {
if(strtotime(date('Y-m-d')) <= strtotime($value['date']) &&
strtotime(date('Y-m-d').'+1 month') >= strtotime($value['date']))
{
$data[] = $value;
}
}
echo "<pre>";
print_r($data);
echo "<pre>";