linux - 如何编码和解码64位格式的NTP时间戳?

标签 linux ubuntu timestamp ntp

我正在尝试对 RFC 5905 Section 6. 中提到的 NTP 时间戳(64 位)格式进行编码和解码

请举例说明如何编码和解码 64 位 NTP 时间戳。

最佳答案

开源Apache Commons Net project包括一个 Java 实现,用于对 NTP 数据包(包括 NTP 64 位时间戳)进行编码和解码。

NTP 64 位时间戳由 32 位秒字段和 32 位秒小数字段组成。秒值的最高有效位 (MSB) 将基准日期定义为 2036 年 2 月 7 日(如果为 0)或 1-1900 年 1 月 1900 年(如果为 1)。

TimeStamp class封装了Java Time的转换(即自 1970 年 1 月 1 日以来的毫秒数)往返于 NTP 64 位表示形式。请参阅 TimeStamp.toNtpTime() 和 TimeStamp.getTime() 方法。编码/解码可以直接转换为 C/C# 或其他语言。

关于linux - 如何编码和解码64位格式的NTP时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30326600/

相关文章:

linux - 加载/etc/profile/时发现错误

c++ - 我想同时等待文件描述符和互斥锁,推荐的方法是什么?

macos - 如何访问在 docker 容器中运行的 nginx Web 服务器提供的网页

google-chrome - 从终端打开谷歌浏览器时出错

sql - 如何添加时间戳和整数类型的两列

linux - 检查网页是否已更改的脚本

c++ - 在 Qt Creator 中加载具有相对路径的文件

mysql - 我可以为 MySQL 中的每条记录获取唯一的 TIMESTAMP

typescript - 尝试使用 Typescript 访问 "firebase.firestore.Timestamp"。错误 : Property 'Timestamp' does not exist on type '() => Firestore'

linux - 命令行搜索所有 html 文件,检索属性值