【问题标题】:php date() not receiving year, month, day: NSDate to phpphp date() 未收到年、月、日:NSDate 到 php
【发布时间】:2015-09-03 15:46:43
【问题描述】:

我有一个 php Web 服务,并且正在将一个 NSDate 从 iOS 应用程序发送到 Web 服务。这是我接收日期的 php:

echo 'formatted T/S '.$u_timestamp = date('Y-m-d H:i:s', trim(strip_tags($_REQUEST['timestamp'])));

这是我用我的网址发送的日期:

timestamp=2015-09-03%2013:52:09%20+0000

我收到它很好,但我的输出是这样的:

1970-01-01 00:33:35

有人知道我没有正确接收 NSDate 的 php 有什么问题吗?

【问题讨论】:

    标签: php ios date nsdate


    【解决方案1】:

    date 函数将 Unix 时间戳作为第二个参数(即自 1970-01-01 00:00:00 以来的秒数)

    试试这个:

    date('Y-m-d H:i:s', strtotime(trim(strip_tags($_REQUEST['timestamp']))));
    

    【讨论】:

    • 太好了,完美,除了我的年份等于 0000。例如:(0000-09-03 13:52:09) 我该怎么做才能得到正确的年份?
    • 我猜+0000 令人困惑strtotime
    • 所以我应该将 'timestamp' 作为不带毫秒的字符串发送,这样就可以了。我在答案的末尾去掉了 '%20+0000' 并用正确的时间戳。谢谢!
    • 是的,试试看。 strtotime 相对有弹性,可以接受最常见的格式(以及像 todayyesterday+3 months 这样的字符串)。我自己的本地测试似乎不会被毫秒数弄糊涂,但这并不意味着您的副本收到的确切格式不会混淆它。
    • 像一个魅力一样工作,发送一个与 NSDate 格式相同的 NSString 没有毫秒也没有问题。
    猜你喜欢
    • 2011-04-11
    • 2012-05-25
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 2016-06-16
    • 2015-02-03
    • 1970-01-01
    相关资源
    最近更新 更多