Php 从给定日期起一周前获取
我有一个每月账单表,存储在客户需要以Php 从给定日期起一周前获取,php,date,datetime,Php,Date,Datetime,我有一个每月账单表,存储在客户需要以Y-m-d格式付款的地方,我需要在到期日前一周发送电子邮件通知。例如: public function cronSendNotif($transaction){ $dueDate = $transaction->getDueDate(); // 2019-08-03 $weekAgo = $this->getWeekAgoDate($dueDate); // 2019-07-27 $this->sendEmailNotifica
Y-m-d
格式付款的地方,我需要在到期日前一周发送电子邮件通知。例如:
public function cronSendNotif($transaction){
$dueDate = $transaction->getDueDate(); // 2019-08-03
$weekAgo = $this->getWeekAgoDate($dueDate); // 2019-07-27
$this->sendEmailNotification($transaction->getId(),$weekAgo);
}
private function getWeekAgoDate($dueDate){
// how ??
}
如果我有
Y-m-d
格式的给定日期,如何获得Y-m-d
格式的一周前日期?使用strotime,您可以简单地从日期中添加/减去天、周等。例如:
function getWeekAgoDate($dueDate){
return date("Y-m-d", strtotime($dueDate . "-1 week"));
}
试试这个:
private function getWeekAgoDate($dueDate){
$weekAgo = date('Y-m-d', strtotime('-7 days', strtotime($dueDate)));
return $weekAgo;
}
还可以使用“修改”功能
$weekAgo = getWeekAgoDate($dueDate);
echo $weekAgo->format('Y-m-d H:i:s');
function getWeekAgoDate(DateTime $dueDate){
return $dueDate->modify("- 7 days");
}
文档:php.net/manual/en/datetime.modify.php使用
datetime
类,加载所需日期,减去1周,回声格式,利润!:到目前为止你试过什么?你被困在哪里?请给你的代码添加一些解释-+7天
怎么能返回一周前的日期?如果你想强制输入变量,为什么不使用类型提示呢?@NicoHaase我错了,我在发布答案并编辑它之后马上意识到了这一点。应该是-。这是文档:请将所有解释添加到您的答案中,而不是添加到评论部分。尽管如此,如果您想强制执行$dueDate
具有正确的类型,您应该键入提示该参数