如何在PHP中从UNIX时间戳中减去一个月

如何在PHP中从UNIX时间戳中减去一个月,php,Php,如何在PHP中从UNIX时间戳中减去一个月?我知道这是一个基本的问题,但我一辈子都搞不清楚。这就是我所拥有的,但它不起作用 $Today = date(); $RegistrationStart->sub(new DateInterval('P1M')); 看看这些参数 date("n", 1438815650); //example unix in the second parameter, returns 8 date("F"); //returns August date("m")

如何在PHP中从UNIX时间戳中减去一个月?我知道这是一个基本的问题,但我一辈子都搞不清楚。这就是我所拥有的,但它不起作用

$Today = date();
$RegistrationStart->sub(new DateInterval('P1M'));
看看这些参数

date("n", 1438815650); //example unix in the second parameter, returns 8
date("F"); //returns August
date("m"); //returns 08

但就像很多人在评论中说的那样,我不知道这是否是你想要的。我假设您希望“$Today”包含当前月份,但您必须更具体一些,这不是一个有意义的问题。例如,如果有夏时制的时间变化呢?您想要一个日历月前的同一天的同一时间吗?你是说在当前时区吗?你需要非常准确地说明你的问题。你对一个月的定义是什么?28/29/30/31天?只需将月份值向下移动1个点?e、 g.
3月30日
-1个月是。。。什么?2月30日,又名3月1日/2日?正确地安排约会并不容易。我建议使用一个类似于碳的日期库来帮助你。然后它就变成了
Carbon::now()->subMonth()
它是如何工作的?你期望它做什么而它没有做,或者它做了什么你没有预料到的?请注意,您可能忘记包含代码的相关部分,即
$RegistrationStart
,因为您将
$Today
初始化为
date()
的值,这是一个返回字符串并需要字符串参数的函数,但您没有提供参数,甚至在示例中也没有使用它。因此,奇怪的代码,它没有告诉我们很多东西,加上含糊不清的声明“不工作”,肯定不能帮助我们确定真正的问题。