title: C++ print chrono::time_point<chrono::high_resolution_clock> to be readable
body: <p>I have the number of nanoseconds since Epoch and I'd like to print this to be readable.</p>
  <p>The examples I found online printing <code>time_point</code> were using <code>system_clock</code> and then converting to a <code>std::time_t</code>. However, I am using <code>high_resolution_clock</code> (because of the nanoseconds), hence struggling to understand how I can print this.</p>
  <p>What is the best technique, given I am dealing with nanoseconds? I'd prefer to stick with standard libraries if possible.</p>
  <p>I'm stuck with C++17 for now, but please do mention if C++20 makes this much easier to do.</p>
  <pre><code>#include &lt;chrono&gt;
  #include &lt;iostream&gt;
  
  using Clock = std::chrono::high_resolution_clock;
  using TimePoint = std::chrono::time_point&lt;Clock&gt;;
  
  int main()
  {
      const uint64_t nanosSinceEpoch = 1517812763001883383;
      const Clock::duration duration_ns_since_epoch = std::chrono::nanoseconds(nanosSinceEpoch);
  
      const TimePoint tp(duration_ns_since_epoch);
  
      // Would like to print tp in readable format
  }
  </code></pre>