DST中的PHP time()和strottime()差异

DST中的PHP time()和strottime()差异,php,time,strtotime,dst,Php,Time,Strtotime,Dst,快一点。在我的网站上,我有几种不同的方法将日期存储在数据库中。对于自动创建的日期(即注册时间等),我使用time() 但是对于手动输入的日期,我使用strotime() 问题是,date\u default\u timezone\u set('UTC')strotime()是正确的,但是time()晚了一个小时 反之亦然,date\u default\u time\u set('Europe/London')time()是正确的,但strotime()落后一小时 我需要两者都是正确的,在某种程度

快一点。在我的网站上,我有几种不同的方法将日期存储在数据库中。对于自动创建的日期(即注册时间等),我使用time()

但是对于手动输入的日期,我使用
strotime()

问题是,
date\u default\u timezone\u set('UTC')
strotime()
是正确的,但是
time()
晚了一个小时

反之亦然,
date\u default\u time\u set('Europe/London')
time()
是正确的,但
strotime()
落后一小时

我需要两者都是正确的,在某种程度上,当我们离开DST时,我不必更改我的代码。最好的办法是什么

干杯,
RJ

time()
将始终生成时区为UTC的UNIX时间戳。请看。您在
strotime()
中放了什么?我假设您知道您只指定了一个日期,而不是以秒为单位的时间,并且您永远不会得到相同的结果?是的,时间往往默认为00:00:00,这很好,因为它是精确的日期。但是,如果设置了
date\u default\u time\u('Europe/London')
则延迟了一个小时,所以是前一天。因此,最好的选择可能是只使用欧洲/伦敦和标准时间('dd/mm/yyyy 01:00:00'),但当我们离开夏令时会发生什么?