Php-从gmdate()日期中减去天数


Php - Subtracting days from gmdate() date

我想从PHP脚本中的GMDATE()(用于UTC目的)中减去180天。我刚刚看了SO,但几乎没有人在使用gmdate()。

这就是我所拥有的:

$from_date = gmdate("Y-m-d H:i:s");

有没有一种简单的方法可以从中减去X天,而不使用完全不同的函数?还是我应该换一种方式?

使用日期时间。更适合处理日期,尤其是在处理时区时。

$datetime = new DateTime(null, new DateTimeZone('UTC'));
$datetime->modify('-180 days');
echo $datetime->format('Y-m-d H:i:s');

看到它在行动

参考

  • 日期时间
  • 日期时区

用UTC格式应该是这样;

$timezone = new DateTimeZone('UTC');
$datetime = new DateTime('NOW', $timezone);
$datetime->modify('-180 days');
echo $datetime->format('Y-m-d H:i:s');

Datetime:PHP Datetime类

public __construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

时区:PHP DateTimeZone类

public __construct ( string $timezone )

gmdate('Y-m-d H:i:s',time()-155.52000)