目前我正在使用Microsoft开发的joulemeter收集数据。 它以时间戳格式记录数据和时间,但格式不同。我尝试使用普通转换,但无法获得准确的时间和数据。我将使用php中的数据。下面是我得到的数据,第一列是时间戳的记录。
TimeStamp (ms) Total Power (W) CPU (W) Monitor (W) Disk (W) Base (W) Application (W)
63573171824975 27 0.2 4.4 0 22.4 --
63573171825988 27 0.2 4.4 0 22.4 --
63573171827002 26.9 0.1 4.4 0 22.4 --
63573171828016 27 0.1 4.4 0 22.4 --
63573171829030 27 0.1 4.4 0 22.4 --
63573171830044 27 0.1 4.4 0 22.4 --
63573171831058 26.9 0 4.4 0 22.4 --
63573171832074 26.9 0 4.4 0 22.4 --
63573171833086 26.9 0.1 4.4 0 22.4 --
63573171834100 26.9 0.1 4.4 0 22.4 --
63573171835115 26.9 0 4.4 0 22.4 --
我在网上搜索但没有找到解决办法。 这是一个在这里找到的线程 Microsoft,但没有人回答这个问题。欣赏是否可以提供帮助。
编辑: 附加信息: 我注意到joulemeter显示的是2015年7月3日下午4:41:08的功率模型 它会从这个日期而不是窗口时间戳1601/1970开始计算吗? 这意味着时间戳的偏移量是不同的。
答案 0 :(得分:0)
您需要了解时间戳。简而言之,它们是自Unix Epoch以来经过的秒数。 (就计算机而言,时间的黎明)。
$timeStamp = 63573171824975;
echo date('jS M Y, g:i:a',$timeStamp);
产出:1940年5月26日,7:26:pm
在这种情况下,'掩码' jS MY,g:i:a',可以修改为适合您希望显示时间戳的格式。不同& #39;掩模'可在此处找到:http://php.net/manual/en/function.date.php
一旦理解了这一点,就转而使用PHP的DateTime对象。 http://php.net/manual/en/book.datetime.php
答案 1 :(得分:0)
00:00:00 1/1/1970
并且当前正在使用PHP date()
函数作为开始日期。
它实际上是从0001-01-01 00:00:00
开始的。
0001-01-01 00:00:00
和00:00:00 1/1/1970
之间的秒数= 62136892800
<强>解决方案:强>
//timestamp in millisecond
$timestamp = 63573171824975/1000 - 62136892800;
echo date('r',$timeStamp);
//result = Tue, 7 Jul 2015 03:49:35 +0800