根据时间更改file_get_contents的URL

时间:2014-10-11 00:30:13

标签: php datetime file-get-contents

$ string = file_get_contents(“http://domain.com/api/data?after=1412640000”);

我的PHP代码根据纪元时间显示json数据。此时间始终为00:00:00 UTC。我需要在网址中的时间在不同的时间范围内进行更改,例如1天时可用。

我可以在网址中添加一个变量来获取当前时间,但是在设置为00:00:00 UTC的时候我会丢失新的一天。

我已经搜索过,但仍然保持部分结果,但不是我需要的。第一次在这里发帖谢谢你的帮助。

编辑:我让它适用于每日更改但我需要另外两个时间框架,例如一周和一个月。

下面是代码:

$daily = gmdate(strtotime('yesterday'));
$string = file_get_contents("http://domain.com/api/data?after={$daily}");

gmdate是UTC的技巧。现在为期一周的时间框架。一个例子是显示月份的第二个日期,直到一周滚动,然后它显示从第9个开始的新的每周日期。

2 个答案:

答案 0 :(得分:0)

strtotime比你想象的更强大,只是天真的方式有效:

strtotime("-1 week")
strtotime("-1 month")

答案 1 :(得分:0)

好的,所以终于想通了。以下是从UTC的每日,每周和每月的特定日期时间间隔输入纪元的代码。

$daily = gmdate(strtotime('yesterday'));
$string = file_get_contents("http://domain.com/api/data?after={$daily}");

$weekly = mktime(23, 59, 59, date('n'), date('j'), date('Y')) - ((date('N'))*3600*24);
$string = file_get_contents("http://domain.com/api/data?after={$weekly}");

$monthly = mktime(0, 0, 0, date('m'), 1, date('Y'));
$string = file_get_contents("http://domain.com/api/data?after={$monthly}");

$ daily是最简单,最简单的。 $ Week将从星期一开始,并将给出那个时间,直到下周一到来,这也是每月$ $如何工作但是在1日。