什么格式是5/6数字TimeStamp,我该如何转换它?

问题描述 投票:1回答:1

使用Ratchet WebSocket,我试图显示已发送消息的时间戳。我在onmessage回调中的console.log(e),我得到一个对象:

{
    //... rest of the keys
    timeStamp: 353443
}

考虑到我在13:48发送它,我认为这看起来很奇怪。奇怪的是,在此之前,我在最后一小时内发出了一个请求,它返回了一个5位数的timeStamp,这让我的研究变得更加艰难。

我试着在Ratchet文档中查找该字段,但找不到任何内容。我立即尝试通过在线转换它来查看它是否是UNIX时间戳,但所有值都返回

一些1970年1月1日:时间

如何将返回的timeStamp转换为d/m/y H:i?我无法找到它可能采用的格式或转换方式。

目前我有(在我的jQuery中):

new Date(data.timeStamp*1000)

但它返回1月1日的事情。

我试过两次:

2018年9月6日星期四14:03 :(秒大约是13) 2018年9月6日星期四14:19:24

这产生了这些时间戳(分别):

0 1 2 3 3 8 4 2 1 9 5 6 8 3

(显示没有空格)

(注意:前导0不在输出中 - 仅用于列比较)

我尝试比较两者,除了Minute和第二个之外的所有内容应该是相同的,但是 - 只有两列匹配。

我怎么可能想到它(但事实证明它不能基于结果有多么不同):

周四有可能是3或4,取决于编码器是否将星期日或星期一设置为0

第六,逻辑上应该只相当于6

如果jan = 0,则9月可以是8

2018年可能是18岁

如果12小时标志设置为am / pm,则14可以是2

这是我的Chat.php类:

<?php
    namespace App;

    use Ratchet\MessageComponentInterface;
    use Ratchet\ConnectionInterface;

    class Chat implements MessageComponentInterface
    {
        protected $clients;

        public function __construct()
        {
            $this->clients = new \SplObjectStorage;
        }

        public function onOpen(ConnectionInterface $conn)
        {
            $this->clients->attach($conn); # store new con to send msg later
            echo 'New Connection! '. $conn->resourceId ."\n";
        }

        public function onMessage(ConnectionInterface $from, $msg)
        {
            $numRecv = count($this->clients) - 1;

            echo sprintf(
                'Connection %d sending message "%s" to %d other connection%s'. "\n",
                $from->resourceId, $msg, $numRecv, $numRecv == 1 ? '' : 's'
            );

            foreach ($this->clients as $client)
            {
                if ($from !== $client) {
                    $client->send($msg); # sender is not receiver, send to each client connected
                }
            }
        }

        public function onClose(ConnectionInterface $conn)
        {
            $this->clients->detach($conn); # con is closed, rm it, can no longer send it a msg
            echo 'Connection '. $conn->resourceId .' has disconnected'. "\n";
        }

        public function onError(ConnectionInterface $conn, \Exception $e)
        {
            echo 'An error has occurred: '. $e->getMessage() ."\n";
            $conn->close();
        }
    }

和我的chat-server.php

<?php
    use Ratchet\Server\IoServer;
    use Ratchet\Http\HttpServer;
    use Ratchet\WebSocket\WsServer;
    use App\Chat;

    require dirname(__DIR__). '/vendor/autoload.php';

    $server = IoServer::factory(
        new HttpServer(
            new WsServer(
                new Chat()
            )
        ),
        8080
    );

    $server->run();

链接到项目:http://socketo.me/

我在数字周围做了一些数学计算:

2195683 - 123384 = 2072299

14:03:13和14:19:24之间的差异是16分11秒

不知何故,16分11秒大致相当于2072299

big update

好的,我比较了4个新日期:

星期四06年9月6日15:26:40

星期四06年9月6日15:31:03

2018年9月6日星期四16:26:40

星期四06年9月6日16:31:03

我有理论认为时间可能是从某个时间开始的,所以26:40将始终与从小时开始的X微秒相同。结果如下:

星期四06年9月6日15:26:40 40491

星期四06年9月6日15:31:03 303762

2018年9月6日星期四16:26:40 1351367

星期四06年9月6日16:31:03 1614388

我决定解决它们之间的差异,所有这些都是4分23秒,但是这样做:

303762 - 40491 = 263271

1614388 - 1351367 = 263021

差异为250。

我还比较了两个小时:

1351367 - 40491 = 1310876

1614388 - 303762 = 1310626

这又相差250。

所以没有多少时间是相同的,这让我怀疑它确实是从某个时间而不是现在的时间。

然后我决定间隔1秒做:

21 = 2232366

22 = 2233365

23 = 2234333

前4个数字的增量可能是预期的(在1s内),但随后它变为66,65,33 ......这是如何产生的?

谢谢,

php timestamp ratchet
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.