计算自格里高利历中公元0001年1月1日午夜12点00分起100纳秒刻度的数量

时间:2014-08-27 01:03:24

标签: c++ boost

有人可以帮我计算100纳秒的刻度,自公历0001年1月1日午夜,公元前一天(公元前1月1日)

我们说日期是2014-08-25 16:00:00.221。

这是我试过的,这是正确的吗?

#include <boost/date_time/microsec_time_clock.hpp>
#include <boost/date_time/local_time/local_time.hpp>

using namespace boost::gregorian;
using namespace boost::local_time;
using namespace boost::posix_time;

__int64 GetTicks( const string& dateTimeStr )
{
    ptime epoch = time_from_string("1970-01-01 00:00:00.000");
    ptime other = time_from_string(dateTimeStr.c_str());

    time_duration const diff = other - epoch;
    long long ms = diff.total_milliseconds();
    ms *= 10000LL;
    return static_cast<__int64>(ms) + 621355968000000000;
}

0 个答案:

没有答案