- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到一个 UDP 数据包,其中包含 Sint64 形式的 UTC。如何将其转换为 UTC 时间?
Sint64 = 8 字节我有一个分配的字节数组如下 8。这是进入“receivedData”字节数组的唯一内容
DatagramSocket serverSocket = new DatagramSocket(18000);
byte[] receiveData = new byte[8];
while (true)
{
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
//not sure how I should be reading the raw binary data back into UTC object
}
最佳答案
首先,需要将字节数组转换为long
(64位有符号整数):
ByteBuffer buf = ByteBuffer.wrap(receiveData);
long utcTime = buf.getLong();
此代码假定 64 位值以处理器运行应用程序时使用的相同字节顺序存储(小端字节序与大端字节序)。
您没有指定 64 位值到底是什么。我假设它是自 1970 年 1 月 1 日 0:00 UTC 以来的毫秒数。
因此要构造日期,请使用以下代码:
Date dateTime = new Date(utcTime);
如果您有不同的零点或不同的单位,则需要相应地进行调整。
关于Java如何从udp数据包中的Sint64解析UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074136/
我有这个架构: 当我尝试推送 id = 6661883440 的新文档时,出现此错误: SEVERE: org.apache.solr.common.SolrExce
我有一个字符串格式的函数f(t,u,v);例如't^2 * sint + u*(20 + t) + v*t'。 如何解决这个问题? 我尝试这样做: t = Symbol('t') u = mu v =
我需要使用C语言中的64位变量来实现操作。尽管如此,嵌入式系统仅允许不超过32位的操作。 例如,也许我需要将64位变量拆分为32位,应用该操作,然后将值返回64位。 请检查以下伪代码: 函数Add()
作为tile,如何在Chisel3中以正确的方式将UInt转换为SInt值?IG: val opC = RegInit(0.U(64.W)) val result = RegInit(0.U(6
我是一名优秀的程序员,十分优秀!