Why not use directly boost::posix_time::ptime ?

Otherwise, I would suggest import (read: copy and paste) TimeBase from ROS instead:
http://docs.ros.org/api/rostime/html/time_8h_source.html