我有一个明星时间,我添加了几分钟。之后,我将新的日期时间存储在一个新的var中,然后打印出来。问题是,当我在firefox中刷新页面时,不会打印新的日期时间。另一方面,当我使用chrome时,我可以在刷新页面时看到新的日期时间。
这是我的代码:
<?php
$minutes_to_add = 5;
$start =new DateTime(date('Y-m-d H:i:s'));
$start->add(new DateInterval('PT' . $minutes_to_add . 'M'));
$end = $start->format('Y-m-d H:i:s');
echo $end;
任何回复都会有所帮助!
答案 0 :(得分:0)
我想建议清除你的firefox缓存。这可以按CTRL
+
F5
完成。
还有一件事,而不是:
$start =new DateTime(date('Y-m-d H:i:s'));
你也可以使用:
$start = new DateTime('now');
或者简单地说:
$start = new DateTime();
答案 1 :(得分:0)
您的浏览器很可能会缓存请求。您可以手动清理浏览器缓存以查看更新的结果,但访问您网页的其他用户也会遇到同样的问题。
可以使用从PHP脚本发送的HTTP标头来控制浏览器如何缓存请求。
您是否在另一个php文件中以某种方式操作缓存标头?浏览器的默认行为是不缓存页面。
要明确告诉浏览器不要缓存您的页面,请使用以下PHP代码
header("Cache-Control: no-cache, must-revalidate"); //HTTP 1.1
header("Pragma: no-cache"); //HTTP 1.0
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
PS:它可以在Chrome而不是Firefox上运行,这可能是因为您在Chrome中完全禁用了缓存(例如,通过打开开发工具)。