当我执行以下请求:在Periscope应用程序中POST https://signer.periscope.tv/sign HTTP/1.1时,它会生成3个时间戳。
下面是三个例子,这些时间戳,但我不知道他们是什么意思。
我知道数字3总是Linux时间戳,但是1&2是什么,它们与Linux时间戳有什么关系?
什么是"tpForBroadcasterFrame“,与时间戳有什么关系?
发布于 2015-11-18 02:36:01
前两个看起来是网络时间协议时间戳。第三个更准确地称为POSIX时间戳。
NTP将数据存储在一个无符号64位整数中,该整数表示1900年以来32位秒和32位小数秒,因此.
15704244410975025152的前32位掩蔽自1900年以来就有3656429334秒。其他32位没有映射到POSIX时间戳,因为它的最小分辨率是1秒。
减去2208988800,1900年至1970年之间的秒数。,从3656429334给1447440534秒后,从Posix时代,或星期五,2015年11月13日18:48:54格林尼治时间
快速黑客代码:
#include <iostream>
constexpr uint64_t epochdelta = 2208988800L; // number of seconds between 1900 and 1970
int main()
{
uint64_t num= 15704244410975025152ULL;
uint32_t seconds = (uint32_t)(num >> 32);
std::cout << seconds << " seconds since 1900" << std::endl;
std::cout << seconds - epochdelta << " seconds since 1970" << std::endl;
return 0;
}https://stackoverflow.com/questions/33770024
复制相似问题