【发布时间】:2013-10-17 03:33:21
【问题描述】:
我正在使用 Facebook PHP SDK 代表他们将事件发布到页面,但在我从表单字段中提取日期时,start_time 参数出现了一些问题。据我了解,这个参数只接受 ISO 8601 格式的日期,所以我做了以下...
表单域显示日期和时间如下(例如):11/06/2013 08:00PM
我通过执行以下操作将其转换为 Javascript 中的时间戳:
var d = new Date('11/06/2013 08:00PM'),
eventTimestamp = d.getTime();
吐出1383796800000 - 将此时间戳转换回人类可读格式是Thu, 07 Nov 2013 04:00:00 GMT (11/6/2013 8:00 :00 PM GMT-8 在我的时区...)。到目前为止一切顺利!
现在问题出在这里。我使用 POST 将此时间戳发送到我发布 Facebook 事件的脚本,然后将其用于我在 PHP 中执行此操作的参数:
date('c', $_POST['timestamp']);
当我运行脚本时,发布的事件的日期为(在 Facebook 事件页面上查看):1995 年 11 月 25 日,星期六。
我希望我描述得足够好。有人可以帮我吗?
编辑...
我在脚本中显示了时间戳返回的数据,有趣的事情发生了。也许我只是错过了一些东西,但是当我回应 $_POST['timestamp'] 时,我得到了:
1383796800000(正确)
但是当我回应 date('c', $_POST['timestamp']) 时,我得到了:
1995-11-25T12:18:08-08:00(非常不正确)
我错过了什么?
【问题讨论】:
-
$_POST['timestamp']的值是否与您发布的值相同? -
我在上面编辑了我的帖子以检查值,你是对的,它们不一样。有什么想法吗?
标签: javascript php facebook-php-sdk unix-timestamp iso8601