使用 php 从日期减去天数、月数或年数 [已关闭]
我有一个数据库表,其中包含格式的日期字段。还有 3 个其他 int 字段表示年、月和日。我想做的是以格式填写新日期的这三个字段。startBefore
('Y-m-d')
startAfter
'Y-m-d'
例如,我有'2001-11-14'作为日期,我想减去3年,7个月,1天来获得日期。startBefore
startAfter
有什么想法如何做到这一点?
谢谢!
我有一个数据库表,其中包含格式的日期字段。还有 3 个其他 int 字段表示年、月和日。我想做的是以格式填写新日期的这三个字段。startBefore
('Y-m-d')
startAfter
'Y-m-d'
例如,我有'2001-11-14'作为日期,我想减去3年,7个月,1天来获得日期。startBefore
startAfter
有什么想法如何做到这一点?
谢谢!
用strtotime('date -years -months -days')
<?php
$time = strtotime('2001-11-14 -3 years -7 months -5 days');
echo $date = date("Y-m-d", $time);
来了:DateTime
$start_date = '2013-03-06';
$date = DateTime::createFromFormat('Y-m-d',$start_date);
$date->modify('+1 month');
echo $date->format('Y-m-d');//2013-04-06
$date->modify('+4 year');
echo $date->format('Y-m-d');//2017-04-06
$date->modify('+6 day');
echo $date->format('Y-m-d');//2017-04-12
$date->modify('+24 hours');
echo $date->format('Y-m-d');//2017-04-13
$date->modify('-7 years');
echo $date->format('Y-m-d'); //2010-04-13
$date->modify('-18 months');
echo $date->format('Y-m-d'); //2008-10-13
如此等等。