Php 使用strotime获取过去的日期

Php 使用strotime获取过去的日期,php,Php,这正确地得到了19年前的月/日/年,这一天(2021年1月8日)分别是01、08、2002。我怎么能在19年零一天前做到这一点?19年零一个月前?19年零一天零一个月前?等等 对于第一种情况(19年零一天前)$month=date('m',strotime('-19年-1day'))不起作用。strotime()使用第二个参数,它是用于相对时间的基准日期。所以你可以从现在开始减去一天,然后使用-19年 $month = date('m', strtotime('-19 years')); $da

这正确地得到了19年前的月/日/年,这一天(2021年1月8日)分别是01、08、2002。我怎么能在19年零一天前做到这一点?19年零一个月前?19年零一天零一个月前?等等

对于第一种情况(19年零一天前)
$month=date('m',strotime('-19年-1day'))
不起作用。

strotime()
使用第二个参数,它是用于相对时间的基准日期。所以你可以从现在开始减去一天,然后使用
-19年

$month = date('m', strtotime('-19 years'));
$day = date('d', strtotime('-19 years'));
$year = date('Y', strtotime('-19 years'));

是,但添加/减去秒会忽略夏令时等
strotime('-19年',strotime('-1天'))
或类似时间
strotime('-1天',strotime('-19年'))
然而,OP的代码似乎有效,请注意,服务器的时区是中欧标准的Time@Steven似乎在没有空间的情况下工作@Abracadver然后我收回我最后的评论@你是对的,它确实有效。我正在努力回忆为什么我认为它不是这样。我很抱歉。
strtotime('-19 years', strtotime('-1 day'))