夏时制上的PHP Datetime sub导致时间错误 $date=新日期时间'2020-03-29 03:00:00'; $date->subnew DateInterval'PT1S';

夏时制上的PHP Datetime sub导致时间错误 $date=新日期时间'2020-03-29 03:00:00'; $date->subnew DateInterval'PT1S';,php,datetime,Php,Datetime,上面的代码会导致“2020-03-29 03:59:59”,这是错误的。正确的结果应该是“2020-03-29 01:59:59”,因为在这一天,时间从2直接变为3 除了在减法之前和之后更改时区之外,还有其他解决方案吗?因为这似乎不是最好的解决办法 $date=新日期时间'2020-03-29 03:00:00'; $date->SetTimeZoneNewDateTimeZone'UTC'; $date->subnew DateInterval'PT1S'; $date->SetTimeZon

上面的代码会导致“2020-03-29 03:59:59”,这是错误的。正确的结果应该是“2020-03-29 01:59:59”,因为在这一天,时间从2直接变为3

除了在减法之前和之后更改时区之外,还有其他解决方案吗?因为这似乎不是最好的解决办法

$date=新日期时间'2020-03-29 03:00:00'; $date->SetTimeZoneNewDateTimeZone'UTC'; $date->subnew DateInterval'PT1S'; $date->SetTimeZoneNewDateTimeZone'Europe/Chisinau'; 设置时区的问题是,对于一个月的减法,对于2007-03-31 00:00:00-1个月的结果2007-03-02 23:00:00对于相同的时区应该是2007-03-03 00:00:00