1
私はboost :: posix_time :: ptimeをAPIに与えてくれるデバイスを持っています。他のデータとsychronizeするには、NTPタイムスタンプとして時間が必要で、NTP秒とNTPフラクタル秒で区別されます。boost :: posix_time :: ptimeからNTPタイムスタンプに変換する
私のような何か試してみました:
#include "boost/date_time/posix_time/posix_time.hpp"
#include <iostream>
using namespace std;
using boost::posix_time::ptime;
using boost::posix_time::time_duration;
using boost::gregorian::date;
int main()
{
ptime t = boost::posix_time::microsec_clock::local_time();
ptime myEpoch(date(1900,boost::gregorian::Jan,1));
time_duration myTimeFromEpoch = t - myEpoch;
boost::uint64_t myTimeAsInt = myTimeFromEpoch.ticks();
cout << myTimeAsInt << endl;
boost::uint32_t seconds = (boost::uint32_t)((myTimeAsInt >> 32) & 0xFFFFFFFF);
boost::uint32_t fraction = (boost::uint32_t)(myTimeAsInt & 0xFFFFFFFF);
cout << seconds << endl;
cout << fraction << endl;
return 0;
}
をしかし、それは私に正しい結果が得られていないのですか?どんな助けもありがたい。
@personは投票を締め切りましたが、それは 'time_t'の複製ではありません。NTPとは異なります。 – Nim