在PHP中格式化HTTP日期消息

时间:2012-11-25 00:30:14

标签: php

背景:

我正在为iOS / Android构建一个简单的聊天程序。在后端是一个同样简单的PHP / MySQL服务器来处理消息。在某些情况下,消息需要延迟而不是立即发送。为了处理这个功能,我通过HTTP向服务器发送消息,该服务器在发布消息时进行调度。它遵循的格式如下:

http://www.company.com:8899/?Env=env&AppName=####&Token=string
&Message=string&ScheduleDate=2010-08-31%2022:10:34%20-0400
&ScheduleAction=action

此问题的网址中最相关的部分是ScheduleDate,它指定邮件将被发送的时间/日期

问题:

我无法获取当前日期/时间,将其置于所需格式(YYY-MM-DD HH:MM:SS),然后计算所需的延迟。我想做的是:

(1)获取当前日期/时间 (2)加5分钟 (3)将其放回到该URL字符串

这是我构建字符串的段。我使用$ roomCreateDate来尝试获取当前日期,看看我是否可以构建字符串而不考虑延迟。 $ comand应该构建字符串以匹配上面的格式。

$roomCreateDate = date("Y-m-d H:i:s");

$command =  'localhost:8899/'.
                '?Env='. environment($appversion) .
                '&AppName=EchoFriendly'.
                '&Token=' . $devicetoken .
                '&Message=' . urlencode($apsPayload) .
        '&ScheduleDate=' . urlencode($roomCreateDate) .
        '&ScheduleAction=add';

感谢任何帮助

2 个答案:

答案 0 :(得分:1)

$roomCreateDate = date("Y-m-d H:i:s", strtotime('+5 minutes'));

答案 1 :(得分:0)

你在加入5分钟时遇到了麻烦吗?

您可以使用以下代码:

$roomCreateDate = date("Y-m-d H:i:s");

尝试:

$roomCreateDate = date("Y-m-d H:i:s", strtotime('+5 minutes'));